A procedure for exporting installed hotfix details of remote computers using powershell
PowerShell v2, v3, v4 and v5
Operating systems used
Windows 10, Windows server 2012, Windows server 2016 technical Preview 4
There are several commands to get installed hotfix details of a local computer.
To get those details open the PowerShell console and execute the command
The output will display the source computername, type of patch whether it is Update or security patch, Hotfix ID, Date and time of installation. We can use the pipe to filter the current output as per our requirement.
The same one liner command can be used for checking hotfix details of remote computers. For that we need to use -computername
switch with get-hotfix
command. After -computername
we need to specify the remote computername. The command will be look like as shown below
Get-hotfix -computername <host name of Remote Computer>
The above one liner command will be useful for export patch installation details of one or two hosts. But if we need to export hotfix installation of multiple remote computers, it will be time consuming.
Here we are explaining a small script which is used to export details of updated patches of multiple remote computers without any head ache
https://gallery.technet.microsoft.com/How-to-Export-Hotfix-e61e9782 [embed=image 1130975]
We used same one-line command here but instead of computer name used a variable called $server
That means the command will take the computername as a variable. For that we need to provide a list of computers list named computers.txt
. The computers.txt
file contains all servers details one by one. You can use both hostnames and IP address.
For demo purpose I have used 3 hostnames as shown in below example
How to run the script
- Copy the exporthotfix.ps1 and computers.txt file in a single folder.
- Open the PowerShell as an administrator and disable the script execution restriction by entering the below command
Press Y to confirm.
- Right click the script and select Run with PowerShell.
- Output will be saved in C:\windows\temp. You can modify the output path by modifying the script.
Here we used to export the contents as a CSV format. If you need to export the output as a TXT format modify the below line in script and save
$QFE = Get-hotfix -computername $server | select-object -property Description,HotFixID,InstalledBy,InstalledOn | out-file c:\windows\temp\$server.txt
This time the output will save as a txt format