Get-HotFix
获取在本地或远程计算机上安装的修补程序。
语法
Default (默认值)
Get-HotFix
[[-Id] <String[]>]
[-ComputerName <String[]>]
[-Credential <PSCredential>]
[<CommonParameters>]
Description
Get-HotFix
[-Description <String[]>]
[-ComputerName <String[]>]
[-Credential <PSCredential>]
[<CommonParameters>]
说明
Get-Hotfix cmdlet 获取在本地计算机或指定远程计算机上安装的修补程序或更新。 更新可由 Windows 更新、Microsoft更新、Windows Server 更新服务或手动安装。
示例
示例 1:获取本地计算机上的所有修补程序
Get-Hotfix cmdlet 获取在本地计算机上安装的所有修补程序。
Get-HotFix
Source Description HotFixID InstalledBy InstalledOn
------ ----------- -------- ----------- -----------
Server01 Update KB4495590 NT AUTHORITY\SYSTEM 5/16/2019 00:00:00
Server01 Security Update KB4470788 NT AUTHORITY\SYSTEM 1/22/2019 00:00:00
Server01 Update KB4480056 NT AUTHORITY\SYSTEM 1/24/2019 00:00:00
示例 2:从多台按字符串筛选的计算机中获取修补程序
Get-Hotfix 命令使用参数来获取远程计算机上安装的修补程序。 结果按指定的说明字符串进行筛选。
PS> Get-HotFix -Description Security* -ComputerName Server01, Server02 -Credential Domain01\admin01
Get-Hotfix 使用 Description 参数和包含星号 () 通配符的字符串 * 筛选输出。
ComputerName 参数包含以逗号分隔的远程计算机名称字符串。
Credential 参数指定有权访问远程计算机的用户帐户并运行命令。
示例 3:验证是否已安装更新并将计算机名称写入文件
此示例中的命令验证是否安装了特定更新。 如果未安装更新,计算机名称将写入文本文件。
PS> $A = Get-Content -Path ./Servers.txt
PS> $A | ForEach-Object { if (!(Get-HotFix -Id KB957095 -ComputerName $_))
{ Add-Content $_ -Path ./Missing-KB957095.txt }}
$A 变量包含通过文本文件 Get-Content 获取的计算机名称。
$A 中的对象将向下发送到 ForEach-Object。
if 语句将 Get-Hotfix cmdlet 与 Id 参数一起使用,并为每个计算机名称指定一个特定的 ID 号。 如果计算机未安装指定的修补程序 ID,Add-Content cmdlet 会将计算机名称写入文件。
示例 4:获取本地计算机上的最新修补程序
此示例获取计算机上安装的最新修补程序。
(Get-HotFix | Sort-Object -Property InstalledOn)[-1]
Get-Hotfix 将管道中的对象发送到 Sort-Object cmdlet。
Sort-Object 按升序对对象进行排序,并使用 Property 参数计算每个 InstalledOn 日期。 数组符号 [-1] 用于选择最近安装的修补程序。
参数
-ComputerName
指定远程计算机。 键入远程计算机的 NetBIOS 名称、Internet 协议(IP)地址或完全限定的域名(FQDN)。
如果未指定 ComputerName 参数,Get-Hotfix 在本地计算机上运行。
ComputerName 参数不依赖于 Windows PowerShell 远程处理。 如果计算机未配置为运行远程命令,请使用 ComputerName 参数。
参数属性
| 类型: | String[] |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | 中国区, __服务器, IP地址 |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-Credential
指定有权访问计算机并运行命令的用户帐户。 键入用户名(如 User01、Domain01\User01),或输入由 cmdlet 生成的 Get-Credential 对象。 如果键入用户名,系统会提示输入密码。
如果未指定 Credential 参数,Get-Hotfix 将使用当前用户。
参数属性
| 类型: | PSCredential |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Description
Get-HotFix 使用 Description 参数来指定修补程序类型。 允许使用通配符。
参数属性
| 类型: | String[] |
| 默认值: | None |
| 支持通配符: | True |
| 不显示: | False |
参数集
Description
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Id
筛选特定修补程序 ID 的 Get-HotFix 结果。 不接受通配符。
参数属性
| 类型: | String[] |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | HFID |
参数集
Default
| Position: | 0 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。
输入
String
可以通过管道将一个或多个计算机名称传递给 Get-HotFix。
输出
ManagementObject
Get-HotFix 返回表示计算机上的修补程序的对象。
备注
Win32_QuickFixEngineeringWMI 类 表示应用于当前操作系统的小型系统级更新,通常被称为快速修复工程(QFE)更新。 此类仅返回由基于组件的服务 (CBS) 提供的更新。 这些更新未在注册表中列出。 Microsoft Windows Installer(MSI)或 Windows 更新 站点提供的更新不会由 Win32_QuickFixEngineering返回。 有关详细信息,请参阅 Win32_QuickFixEngineering 类。
Get-HotFix 输出可能因不同的操作系统而异。