Вы находитесь на странице: 1из 6

How to Export Hotfix details of Remote

Computers
Method Used
PowerShell Scripting
Tested Versions: 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
Get-hotfix
For example

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>
For Example

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
##################################
##

## Author Jinish KG Wipro LTD #


##
##

Version 1.0.0 #
Created Date 16 may 2016 #

##################################

Function exportqfe {
BEGIN {}
PROCESS {
$server = "$_"
if ($_ -ne "") {
Write-host "Exporting installed hotfix details of $server, pasting output in c:\windows\temp"
$QFE = Get-hotfix -computername $server | select-object -property
Description,HotFixID,InstalledBy,InstalledOn | export-csv c:\windows\temp\$server.csv

}
}
END {}
}
cls
$ScriptPath = Split-Path $MyInvocation.MyCommand.Path
$LogFile = $Scriptpath+"\windows\temp"
Get-Content $Scriptpath"\computers.txt" | exportqfe

Copy the below script to a notepad and save it as .ps1

Exporthotfix.ps1

Or you can download it from here

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

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
Set-executionpolicy unrestricted

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

Happy Scripting...

***************************************