Get-HotFix

會安裝在本地或遠端電腦上的熱修補程式。

語法

Default (預設值)

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

DESCRIPTION

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

Description

此 Cmdlet 只能在 Windows 平臺上使用。

該 Get-HotFix cmdlet 使用 Win32_QuickFixEngineering WMI 類別來列出安裝在本地電腦或指定遠端電腦上的熱修正。

範例

範例 1:在本地電腦上取得所有熱修正

指令長會 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

範例二:從多台電腦取得經過字串過濾的熱修正

指令會 Get-HotFix 利用參數來安裝熱修補程式到遠端電腦。 結果會依照指定的描述字串進行過濾。

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

Get-HotFix以 Description 參數及包含星號( )萬用卡的* 來過濾輸出。 ComputerName 參數包含一串逗號分隔的遠端電腦名稱串。 憑證參數指定一個有權限存取遠端電腦並執行指令的使用者帳號。

範例 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, Add-Content 指令檔會把電腦名稱寫入檔案。

範例 4:在本地電腦上取得最新的熱修正

這個例子是安裝在電腦上最新的熱修補程式。

(Get-HotFix | Sort-Object -Property InstalledOn)[-1]

Get-HotFix 將物件送入管線至 Sort-Object 指令碼。 Sort-Object 會依物件排序,並使用 Property 參數來評估每個 InstallOn 日期。 陣列符號 [-1] 會選擇最近安裝的熱修正。

參數

-ComputerName

指定遠端電腦。 輸入 NetBIOS 名稱、網際網路協定(IP)位址,或遠端電腦的完整限定網域名稱(FQDN)。

當 ComputerName 參數未指定時,會在 Get-HotFix 本地電腦執行。

ComputerName 參數不依賴 PowerShell Windows遠端處理。 如果你的電腦沒有設定遠端指令,請使用 ComputerName 參數。

參數屬性

類型:

String[]

預設值:None
支援萬用字元:False
不要顯示:False
別名:中國, __Server, IP位址

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Credential

指定一個擁有存取電腦及執行指令權限的使用者帳號。 預設是目前的使用者

輸入使用者名稱,例如 User01 或 Domain01\User01,或輸入 Cmdlet 所產生的 Get-Credential 物件。 如果您輸入使用者名稱,系統會提示您輸入密碼。

認證會儲存在 PSCredential 物件中,密碼會儲存為 secureString 。

Note

如需 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 僅適用於 Windows 平臺。

Win32_QuickFixEngineeringWMI 類別代表一種小型系統性更新,通常稱為快速修正工程(QFE)更新,應用於現行作業系統。 此類別僅回傳元件基礎服務(CBS)所提供的更新。 這些更新並未列在登錄清單中。 Microsoft Windows安裝程式(MSI)或 Windows Update 網站提供的更新不會被 Win32_QuickFixEngineering 回傳。 欲了解更多資訊,請參見 Win32_QuickFixEngineering類別。

不同作業系統的 Get-HotFix 輸出可能會有所不同。