Coder Social home page Coder Social logo

w159 / lsuclient Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jantari/lsuclient

0.0 0.0 0.0 428 KB

Orchestrate driver, BIOS/UEFI and firmware updates for Lenovo computers ๐Ÿ‘จโ€๐Ÿ’ป

Home Page: https://jantari.github.io/LSUClient-docs/

License: MIT License

C# 3.48% PowerShell 96.52%

lsuclient's Introduction

LSUClient

PowerShell Gallery PowerShell Gallery Version GitHub release (latest by date)

LSUClient PowerShell Module PNG Logo

Orchestrate driver, BIOS/UEFI and firmware updates for Lenovo computers - with PowerShell!

Installation

Install-Module -Name 'LSUClient'

Highlight features

  • Does driver, BIOS/UEFI, firmware and utility software updates
  • Allows for fully silent and unattended update runs
  • Work with updates and even their results as PowerShell objects to build any custom logic imaginable
  • Fetch the latest updates directly from Lenovo or use an internal repository of your own for more control
  • Can work alongside, but does not require Lenovo System Update or any other external program
  • Run locally or manage/report on an entire fleet of computers remotely
  • Full Web-Proxy support including authentication
  • Supports not only business computers but consumer lines too (e.g. IdeaPad)
  • Free and open-source!

Examples and tips

See available updates:

Get-LSUpdate

Find and install available updates:

$updates = Get-LSUpdate
$updates | Install-LSUpdate -Verbose

Install only packages that can be installed silently and non-interactively:

$updates = Get-LSUpdate | Where-Object { $_.Installer.Unattended }
$updates | Save-LSUpdate -Verbose
$updates | Install-LSUpdate -Verbose

Filtering out non-unattended packages like this is strongly recommended when using this module in MDT, SCCM, PDQ, remote execution via PowerShell Remoting, ssh or any other situation in which you run these commands remotely or as part of an automated process. Packages with installers that are not unattended may force reboots or attempt to start a GUI setup on the machine and, if successful, halt until someone clicks through the dialogs.

To get all available packages:

$updates = Get-LSUpdate -All

By default, Get-LSUpdate only returns "needed" updates. Needed updates are those that are applicable to the system and not yet installed. If you want to retrieve all available packages instead, use Get-LSUpdate -All. To filter out unneeded packages later, just look at the IsApplicable and IsInstalled properties. The default logic is equivalent to: Get-LSUpdate -All | Where-Object { $_.IsApplicable -and -not $_.IsInstalled }

Download drivers for another computer:

Get-LSUpdate -Model 20LS -All | Save-LSUpdate -Path 'C:\20LS_Drivers' -ShowProgress

Using the -Model parameter of Get-LSUpdate you can retrieve packages for another computer model. In this case you almost always want to use -All too so that the packages found are not filtered against your computer and all packages are downloaded.


For further documentation please see the documentation site and run Get-Help -Detailed on the functions in this module.

Misc

  • Only Windows 10 and Windows 11 are supported
  • This module does not clean up downloaded packages and installers at any point. The default download location is $env:TEMP\LSUPackages - you may delete it yourself
  • By default this module reaches out to https://download.lenovo.com and must be able to download .xml, .exe and .inf files from that domain for successful operation. Alternatively, a custom package repository can be used for completely internal or offline operation with the -Repository parameter of Get-LSUpdate. A custom repository can be served over HTTP(S) or just be a filesystem path - local or UNC.

lsuclient's People

Contributors

jantari avatar badbart avatar dkattan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.