How can I remotely download and install a game in my library? Remote Downloads are enabled from any web browser when you leave the Steam application running on your PC or Mac. Of course, we only recommend you do this on your own private, secured computer. This is the companion extension for the Chrome Remote Desktop website (This extension enables you to install, view, and modify the Chrome Remote Desktop native client from the web UI. Chrome Remote Desktop allows users to remotely access another computer through Chrome browser or a Chromebook. Instant Remote Access Switch to the best remote access and remote desktop solution for PC, Mac, Linux Starts from $39.50 /year $3.95 first year for 2 computers.
Author: Peter Barnett Date: Mar 08, 2019
Timely updating the software installed in the company and installing the required patches is one of the important tasks, the implementation of which allows you to avoid various software malfunctions, as well as to ensure an adequate level of security. How can you centrally and remotely manage software updates and patches in a company? To do this, there are various solutions called patch management tool. If you have ever had to install Windows updates, as in patching servers, you know you have to log into servers and allow updates to install, suppressing reboots along the way. I will focus on windows update in powershell today (Invoke-WUInstall), used to install Windows updates remotely. | Fully functional for 50 endpoints, never expires. More details > |
1. Installing PSWindowsUpdate PowerShell Module
Since PSWindowsUpdate is not installed on Windows by default, we have to first install the module.
PS C:WINDOWSsystem32> Install-Module PSWindowsUpdate -MaximumVersion 1.5.2.6
If we run Get-Command we can see all of the commands in the PSWindowsUpdate module:
PS C:WINDOWSsystem32> Get-Command -Module PSWindowsUpdate
CommandType Name Version Source
- ----------- ---- ------- ------
Alias Get-WindowsUpdate 1.5.2.6 pswindowsupdate
Alias Hide-WindowsUpdate 1.5.2.6 pswindowsupdate
Alias Install-WindowsUpdate 1.5.2.6 pswindowsupdate
Alias Uninstall-WindowsUpdate 1.5.2.6 pswindowsupdate
Function Add-WUOfflineSync 1.5.2.6 pswindowsupdate
Function Add-WUServiceManager 1.5.2.6 pswindowsupdate
Function Get-WUHistory 1.5.2.6 pswindowsupdate
Function Get-WUInstall 1.5.2.6 pswindowsupdate
Function Get-WUInstallerStatus 1.5.2.6 pswindowsupdate
Function Get-WUList 1.5.2.6 pswindowsupdate
Function Get-WURebootStatus 1.5.2.6 pswindowsupdate
Function Get-WUServiceManager 1.5.2.6 pswindowsupdate
Function Get-WUUninstall 1.5.2.6 pswindowsupdate
Function Hide-WUUpdate 1.5.2.6 pswindowsupdate
Function Invoke-WUInstall 1.5.2.6 pswindowsupdate
Function Remove-WUOfflineSync 1.5.2.6 pswindowsupdate
Function Remove-WUServiceManager 1.5.2.6 pswindowsupdate
2. How Invoke-WUInstall Works
One different aspect of using Invoke-WUInstall is that it does not use traditional remoting methods to perform Windows update in PowerShell. When you look at the source code, it actually creates and immediately runs a scheduled task on the remote machine under the SYSTEM account.
Write-Verbose 'Create schedule service object'
$Scheduler = New-Object -ComObject Schedule.Service
$Task = $Scheduler.NewTask(0)
$RegistrationInfo = $Task.RegistrationInfo
$RegistrationInfo.Description = $TaskName
$RegistrationInfo.Author = $User.Name
$Settings = $Task.Settings
$Settings.Enabled = $True
$Settings.StartWhenAvailable = $True
$Settings.Hidden = $False
$Action = $Task.Actions.Create(0)
$Action.Path = 'powershell'
$Action.Arguments = '-Command $Script'
$Task.Principal.RunLevel = 1
typical use of Invoke-WUInstall would be:
Invoke-WUInstall -ComputerName Test-1 -Script {ipmo PSWindowsUpdate; Get-WUInstall -AcceptAll | Out-File C:PSWindowsUpdate.log }-Confirm:$false –Verbose
In this command we see Get-WUInstall
, which is the command PSWindowsUpdate uses to install updates, usually from your Windows Server Update Services (WSUS) server. Get-WUInstall
simply uses a COM object for Windows updates to perform the tasks needed. Notice also the use of the -AcceptAll
parameter, which means it will automatically accept any updates to install.
One nice feature of Invoke-WUInstall is that it actually installs the PSWindowsUpdate module on the remote machine (if it isn't there already). This is great when you are using the module on a new machine, or when you decide to use it for the first time.
- C: > $cim = New-CimSession -ComputerName Test-1
- C: > $cim
- Id : 2
- Name : CimSession2
- InstanceId : afa8c63d-fb1f-46f9-8082-c66238750a92
- ComputerName : Test-1
- Protocol : WSMAN
- C:ScriptsPowerShell> (Get-ScheduledTask -TaskPath ' -CimSession $cim -TaskName PSWindowsUpdate).actions
- Id :
- Arguments : -Command ipmo PSWindowsUpdate; Get-WUInstall -AcceptAll -AutoReboot | Out-File C:PSWindowsUpdate.log
- Execute : powershell
- WorkingDirectory :
- PSComputerName : Test-1
As you can see, the scheduled task is going to run ipmo PSWindowsUpdate; Get-WUInstall -AcceptAll -AutoReboot | Out-File C:PSWindowsUpdate.log.
Using Out-File will ensure the logs of downloading and installing updates are visible so we can check against them later..
3. Install Updates on Multiple Machines
The true power of Invoke-WUInstall is when you have to install updates on many machines at once. This is very easy to do, all you need is to add machines to the ‑ComputerName
parameter, which then processes them in a loop (not in parallel unfortunately).
- C: > Invoke-WUInstall -ComputerName Test-1,Test-2,Test-3,Test-4 -Script {ipmo PSWindowsUpdate; Get-WUInstall -AcceptAll | Out-File C:
- PSWindowsUpdate.log } -Confirm:$false -Verbose
- VERBOSE: Populating RepositorySourceLocation property for module PSWindowsUpdate.
- VERBOSE: Loading module from path 'C:Program FilesWindowsPowerShellModulesPSWindowsUpdate1.5.2.6PSWindowsUpdate.psm1'.
- VERBOSE: Create schedule service object
- VERBOSE: Performing the operation 'Invoke WUInstall' on target 'Test-1'.
4. Windows Update in Powershell: Finding Errors
One great reason to output to a log on the remote machine is to confirm that no errors installing updates on these remote machines occurred. With some simple PowerShell, we can query these log files and search for failures.
Here is what a typical log looks like after using Get-WUInstall -AcceptAll | Out-File C: PSWindowsUpdate.log
:
It includes the status of the update, its KB number, size, and title—all great information to have handy when installing updates.
Using Invoke-Command, Get-Item, and Select-String, we can use a quick technique to easily work through any computers used with Invoke-WUInstall and check for updates that failed to install:
- C:> Invoke-Command -ComputerName Test-1,Test-2,Test-3 -ScriptBlock {
- >> Get-Item C:PSWindowsUpdate.log | Select-String -Pattern 'failed' -SimpleMatch |
- >> Select-Object -Property line } | Select-Object -Property Line,PSComputerName
- Line PSComputerName
- ---- --------------
- 4 Failed KB4103712 30 MB 2018-05 Security Only Quality Update for Windo... Test-1
Consider using Action1 to install Windows updates remotely if:
- - You need to perform an action on multiple computers simultaneously.
- - You have remote employees with computers not connected to your corporate network.
Action1 is a cloud-based platform for patch management, software deployment, remote desktop, software/hardware inventory, endpoint management and endpoint configuration reporting.
Start your free trial or use free forever to manage up to 50 endpoints. More details >
Relevant How To Articles and Action1 Features:
Powerful tools.
Instant support.

Smooth remote control, remote scripting, and rich auto-complete to maximize your IT support efficiency.
Donate to a Charity
Has Remotely been beneficial to you? Please consider donating to a recommended charity.
Remote Control
Instantly connect to remote desktops either unattended or by invite. Invites are started from a single-file, portable executable that's easy for customers to download and use.
Remote Scripting
Save time on quick fixes and ad-hoc scripting with an interactive console that lets you execute commands against multiple remote machines simultaneously, with instant results.
Use the shell of your choice: PowerShell Core, Windows PowerShell, CMD, or Bash.
Rich auto-complete for cross-platform PowerShell Core increases speed and accuracy of commands. You can even tab-complete folders and files on the remote machine.
Scheduled Scripts
Set up scripts to run on Hourly, Daily, Weekly, or Monthly schedules. Optionally send alerts to your email and/or to the Remotely web interface.
Alerts will send when there was an error running the script, or you can trigger them manually within the script based on some logic.
Remote Installation Services
Integrated Chat
Ask end users for permission to remote in, or just chat it up a little, with integrated chat.

Notable Features
- Support for Windows and Linux devices
- Unattended and attended access
- Remote scripting for Windows PowerShell, PowerShell Core, Bash, and CMD
- Optional WebRTC for secure peer-to-peer screen transfer on Windows agents, which reduces load on the server
- Drag-and-drop file transfer
- Remote audio streaming (Windows only)
- Bi-directional clipboard sharing
- Custom branding for desktop apps
- Integrated chat
- Scheduled scripts
- Device alerts
- 2-factor authentication
Get Started
Remotely is free and open-source, and there are multiple ways to start using it.
- Download the portable client to try out instant screen sharing
- Create an account on the public server that we host for you
- Install a server package to host a server yourself
- Download and build the source code to host a server yourself
Instant Support Clients
Remote Installer
These clients can be used immediately, without creating an account.
Windows (64-bit)Windows (32-bit)Linux (64-bit)
Server Installation
You can download the server installation command line utility from one of the below links or from the Releases page on GitHub.
For instructions on its usage, please refer to the documentation on the GitHub Readme.
Server Files Only
The below archives contain the server files, which can be used to overwrite and upgrade existing servers.
Windows (64-bit)Linux (64-bit)
Open-Source
Remote Install Mac Os X
Project Link: https://github.com/lucent-sea/remotely
You can use Remotely in almost any way you'd like. It's free of charge and free of restrictions.
If you feel so inclined, you can donate to the project to support the development.
- One Time: https://paypal.me/translucency
- Sponsorship: https://github.com/sponsors/lucent-sea