Jak sprawdzić wersję PowerShell zainstalowaną w systemach lokalnych i zdalnych?
Aby sprawdzić wersję PowerShell zainstalowaną w systemie, możesz użyć polecenia $ PSVersionTable lub $ host.
-
Sprawdź, czy polecenie $ host jest dostępne na zdalnych serwerach.
Otwórz konsolę PowerShell w systemie i uruchom polecenie $ PSVersionTable.
$PSVersionTable
Wyjście
Więc mamy tutaj wyjście $ PSVersionTable. Możesz zobaczyć właściwość wyjściową $ PSVersion, która wskazuje informacje o wersji programu PowerShell.
$PSVersionTable.PSVersion
Wyjście
Major Minor Build Revision----- ----- ----- --------5 1 18362 628
We właściwości Major wskazuje, że wersja PowerShell to 5, a kompilacja to 18362.
Podobnie, możesz uzyskać powyższe dane wyjściowe za pomocą polecenia $ Host w PowerShell.
PS C:\WINDOWS\system32> $HostName : ConsoleHostVersion : 5.1.18362.628InstanceId : f6d2bf19-db26-403b-9749-afede37ea56fUI : System.Management.Automation.Internal.Host.InternalHostUserInterface CurrentCulture :en-INCurrentUICulture : en-USPrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxyDebuggerEnabled : TrueIsRunspacePushed : FalseRunspace : System.Management.Automation.Runspaces.LocalRunspace
Wersję programu PowerShell można pobrać z właściwości wersji.
$Host.Version
Dane wyjściowe
PS C:\WINDOWS\system32> $Host.VersionMajor Minor Build Revision ----- ----- ----- -------- 5 1 18362 628
Aby uzyskać dane wyjściowe na komputerze zdalnym, musisz użyć polecenia sesji Invoke-Command lub PSRemote, ponieważ $ PSverionTable i $ Host nie obsługują parametru – ComputerName .
Invoke-Command -ComputerName Test-PC -ScriptBlock{$PSVersionTable.PSVersion}
Jeśli masz wiele komputerów i potrzebujesz nazwy hosta i wersji PS zamiast nazwy hosta, możesz użyć polecenia Pipeline lub PSCustomObject.
Przykład
Jeśli masz listę serwerów, możesz dodać wszystkie serwery do tekstu f ile i uruchom powyższe polecenie.
Na przykład, mamy listę serwerów przechowywaną w D: \ Temp \ Servers.txt i musimy pobrać na nie wersję PS.