Get-HotFix
Pobiera poprawki zainstalowane na komputerach lokalnych lub zdalnych.
Składnia
Get-HotFix
[[-Id] <String[]>]
[-ComputerName <String[]>]
[-Credential <PSCredential>]
[<CommonParameters>]
Get-HotFix
[-Description <String[]>]
[-ComputerName <String[]>]
[-Credential <PSCredential>]
[<CommonParameters>]
Opis
To polecenie cmdlet jest dostępne tylko na platformie Windows.
Polecenie cmdlet Get-Hotfix
używa klasy Win32_QuickFixEngineering WMI do wyświetlania listy poprawek zainstalowanych na komputerze lokalnym lub określonych komputerach zdalnych.
Przykłady
Przykład 1. Pobieranie wszystkich poprawek na komputerze lokalnym
Polecenie cmdlet Get-Hotfix
pobiera wszystkie poprawki zainstalowane na komputerze lokalnym.
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
Przykład 2. Pobieranie poprawek z wielu komputerów filtrowanych według ciągu
Polecenie Get-Hotfix
używa parametrów do pobierania poprawek zainstalowanych na komputerach zdalnych. Wyniki są filtrowane według określonego ciągu opisu.
$hotFixParams = @{
Description = "Security*"
ComputerName = "Server01, Server02"
Credential = "Domain01\admin01"
}
Get-HotFix @hotFixParams
Get-Hotfix
filtruje dane wyjściowe za pomocą parametru Description oraz ciągu Security zawierającego gwiazdkę (*
) symbol wieloznaczny. Parametr ComputerName zawiera rozdzielony przecinkami ciąg nazw komputerów zdalnych. Parametr Credential określa konto użytkownika, które ma uprawnienia dostępu do komputerów zdalnych i uruchom polecenia.
Przykład 3. Sprawdzanie, czy aktualizacja jest zainstalowana i czy zapisuje nazwy komputerów w pliku
Polecenia w tym przykładzie sprawdzają, czy zainstalowano określoną aktualizację. Jeśli aktualizacja nie jest zainstalowana, nazwa komputera jest zapisywana w pliku tekstowym.
$A = Get-Content -Path ./Servers.txt
$A | ForEach-Object { if (!(Get-HotFix -Id KB957095 -ComputerName $_))
{ Add-Content $_ -Path ./Missing-KB957095.txt }}
Zmienna $A
zawiera nazwy komputerów uzyskane przez Get-Content
z pliku tekstowego. Obiekty w $A
są wysyłane w dół potoku do ForEach-Object
. Instrukcja if
używa polecenia cmdlet Get-Hotfix
z parametrem Id i określonym numerem id dla każdej nazwy komputera. Jeśli na komputerze nie zainstalowano określonego identyfikatora poprawki, polecenie cmdlet Add-Content
zapisuje nazwę komputera w pliku.
Przykład 4. Pobieranie najnowszej poprawki na komputerze lokalnym
Ten przykład pobiera najnowszą poprawkę zainstalowaną na komputerze.
(Get-HotFix | Sort-Object -Property InstalledOn)[-1]
Get-Hotfix
wysyła obiekty w dół potoku do polecenia cmdlet Sort-Object
.
Sort-Object
sortuje obiekty według kolejności rosnącej i używa parametru property do oceny każdej daty InstalledOn. Notacja tablicy [-1]
wybiera najnowszą zainstalowaną poprawkę.
Parametry
-ComputerName
Określa komputer zdalny. Wpisz nazwę NetBIOS, adres IP (Internet Protocol) lub w pełni kwalifikowaną nazwę domeny (FQDN) komputera zdalnego.
Jeśli parametr ComputerName nie jest określony, Get-Hotfix
jest uruchamiany na komputerze lokalnym.
Parametr ComputerName nie polega na komunikacji zdalnej programu Windows PowerShell. Jeśli komputer nie jest skonfigurowany do uruchamiania poleceń zdalnych, użyj parametru ComputerName.
Typ: | String[] |
Aliasy: | CN, __Server, IPAddress |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Credential
Określa konto użytkownika, które ma uprawnienia dostępu do komputera i uruchamiania poleceń. Wartość domyślna to bieżący użytkownik
Wpisz nazwę użytkownika, taką jak User01 lub Domain01\User01, lub wprowadź obiekt PSCredential wygenerowany przez polecenie cmdlet Get-Credential
. Jeśli wpiszesz nazwę użytkownika, zostanie wyświetlony monit o wprowadzenie hasła.
Poświadczenia są przechowywane w obiekcie PSCredential, a hasło jest przechowywane jako SecureString.
Nuta
Aby uzyskać więcej informacji na temat ochrony danych SecureString, zobacz Jak bezpieczny jest protokół SecureString?.
Typ: | PSCredential |
Position: | Named |
Domyślna wartość: | Current user |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Description
Get-HotFix
używa parametru Description w celu określenia typów poprawek. Dozwolone są symbole wieloznaczne.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | True |
-Id
Filtruje wyniki Get-HotFix
dla określonych identyfikatorów poprawek. Symbole wieloznaczne nie są akceptowane.
Typ: | String[] |
Aliasy: | HFID |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
String
Możesz potokować ciąg zawierający nazwę komputera do tego polecenia cmdlet.
Dane wyjściowe
To polecenie cmdlet zwraca obiekty reprezentujące poprawki na komputerze.
Uwagi
To polecenie cmdlet jest dostępne tylko na platformach windows.
Klasa Win32_QuickFixEngineeringWMI reprezentuje małą aktualizację dla całego systemu, powszechnie określaną jako aktualizacja inżynierii szybkiej poprawki (QFE) zastosowana do bieżącego systemu operacyjnego. Ta klasa zwraca tylko aktualizacje dostarczane przez obsługę opartą na składnikach (CBS). Te aktualizacje nie są wymienione w rejestrze. Aktualizacje dostarczone przez Instalatora Microsoft Windows (MSI) lub witryny Windows Update nie są zwracane przez Win32_QuickFixEngineering. Aby uzyskać więcej informacji, zobacz Win32_QuickFixEngineering class.
Dane wyjściowe Get-HotFix
mogą się różnić w różnych systemach operacyjnych.