Get-HotFix

获取在本地或远程计算机上安装的修补程序。

语法

Default (默认值)

Get-HotFix
    [[-Id] <String[]>]
    [-ComputerName <String[]>]
    [-Credential <PSCredential>]
    [<CommonParameters>]

DESCRIPTION

Get-HotFix
    [-Description <String[]>]
    [-ComputerName <String[]>]
    [-Credential <PSCredential>]
    [<CommonParameters>]

说明

此 cmdlet 仅在 Windows 平台上可用。

该 Get-HotFix cmdlet 使用 Win32_QuickFixEngineering WMI 类列出在本地计算机或指定远程计算机上安装的修补程序。

示例

示例 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 命令使用参数来获取安装在远程计算机上的修补程序。 结果按指定的说明字符串进行筛选。

$hotFixParams = @{
    Description = "Security*"
    ComputerName = "Server01", "Server02"
    Credential = "Domain01\admin01"
}
Get-HotFix @hotFixParams

Get-HotFix使用 Description 参数和包含星号 () 通配符的字符串*筛选输出。 ComputerName 参数包含以逗号分隔的远程计算机名称字符串。 Credential 参数指定有权访问远程计算机并运行命令的用户帐户。

示例 3:验证是否已安装更新并将计算机名称写入文件

此示例中的命令验证是否安装了特定更新。 如果未安装更新,计算机名称将写入文本文件。

$A = Get-Content -Path ./Servers.txt
$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,则 cmdlet 会将 Add-Content 计算机名称写入文件。

示例 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
别名:中国区, __服务器, IPAddress

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-Credential

指定有权访问计算机并运行命令的用户帐户。 默认值为当前用户

键入用户名(如 User01 或 Domain01\User01),或输入由 cmdlet 生成的 Get-Credential 对象。 如果键入用户名,系统会提示输入密码。

凭据存储在 PSCredential 对象中,密码存储为 SecureString。

注释

有关 SecureString 数据保护的详细信息,请参阅 SecureString 的安全性如何?。

参数属性

类型:PSCredential
默认值:Current user
支持通配符: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

Get-HotFix筛选特定修补程序 ID 的结果。 不接受通配符。

参数属性

类型:

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

可以通过管道将包含计算机名称的字符串传递给此 cmdlet。

输出

ManagementObject

此 cmdlet 返回表示计算机上的修补程序的对象。

备注

此 cmdlet 仅在 Windows 平台上可用。

Win32_QuickFixEngineeringWMI 类表示应用于当前操作系统的小型系统范围的更新,通常称为快速修复工程(QFE)更新。 此类仅返回基于组件的服务(CBS)提供的更新。 注册表中未列出这些更新。 Microsoft Windows Installer(MSI)或 Windows 更新 站点提供的更新不会由 Win32_QuickFixEngineering。 有关详细信息,请参阅 Win32_QuickFixEngineering类。

输出 Get-HotFix 在不同操作系统上可能有所不同。