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 輸出可能會有所不同。