Get-HotFix
获取在本地或远程计算机上安装的修补程序。
语法
Get-HotFix
[[-Id] <String[]>]
[-ComputerName <String[]>]
[-Credential <PSCredential>]
[<CommonParameters>]
Get-HotFix
[-Description <String[]>]
[-ComputerName <String[]>]
[-Credential <PSCredential>]
[<CommonParameters>]
说明
此 cmdlet 仅在 Windows 平台上可用。
cmdlet Get-Hotfix
获取在本地计算机或指定的远程计算机上安装的修补程序或更新。 可以通过Windows 更新、Microsoft 更新、Windows Server Update Services或手动安装来安装更新。
示例
示例 1:获取本地计算机上的所有修补程序
cmdlet Get-Hotfix
获取本地计算机上安装的所有修补程序。
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 参数和字符串 Security 筛选输出,其中包含星号 (*
) 通配符。 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
具有 Id 参数的 cmdlet 以及每个计算机名称的特定 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 参数。
Type: | String[] |
Aliases: | CN, __Server, IPAddress |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Credential
指定有权访问计算机并运行命令的用户帐户。 默认值为当前用户
键入用户名,例如 User01 或 Domain01\User01,或输入 cmdlet Get-Credential
生成的 PSCredential 对象。 如果键入用户名,系统会提示输入密码。
凭据存储在 PSCredential 对象中,密码存储为 SecureString。
注意
有关 SecureString 数据保护的详细信息,请参阅 SecureString 的安全性如何?。
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
Get-HotFix
使用 Description 参数指定修补程序类型。 允许使用通配符。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Id
Get-HotFix
筛选特定修补程序 ID 的结果。 不接受通配符。
Type: | String[] |
Aliases: | HFID |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
输入
String
可以通过管道将一个或多个计算机名称传递给 Get-HotFix。
输出
Get-HotFix
返回表示计算机上的修补程序的对象。
备注
此 cmdlet 仅在 Windows 平台上可用。
Win32_QuickFixEngineeringWMI 类表示应用于当前操作系统的小型系统范围的更新,通常称为快速修复工程 (QFE) 更新。 此类仅返回基于组件的服务 (CBS) 提供的更新。 注册表中未列出这些更新。 Win32_QuickFixEngineering不会返回由 Microsoft Windows Installer (MSI) 或 Windows 更新 站点提供的汇报。 有关详细信息,请参阅 Win32_QuickFixEngineering 类。
输出 Get-HotFix
可能因不同的操作系统而异。