Como verificar a versão do PowerShell instalada em sistemas locais e remotos?
Para verificar a versão do PowerShell instalada em seu sistema, você pode usar o comando $ PSVersionTable ou $ host.
-
Verifique se o comando $ host está disponível em servidores remotos.
Abra o console do PowerShell no sistema e execute o comando $ PSVersionTable.
$PSVersionTable
Saída
Portanto, aqui, temos uma saída de $ PSVersionTable. Você pode ver a propriedade de saída $ PSVersion, que indica as informações de versão do PowerShell.
$PSVersionTable.PSVersion
Saída
Major Minor Build Revision----- ----- ----- --------5 1 18362 628
Na propriedade Principal, indica que a versão do PowerShell é 5 e Build é 18362.
Da mesma forma, você pode obter a saída acima com o comando $ Host no 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
Você pode obter a versão do PowerShell na propriedade version.
$Host.Version
Saída
PS C:\WINDOWS\system32> $Host.VersionMajor Minor Build Revision ----- ----- ----- -------- 5 1 18362 628
Para obter a saída no computador remoto, você precisa usar o comando Invoke-Command ou PSRemote session, pois $ PSverionTable e $ Host não oferece suporte ao parâmetro – ComputerName .
Invoke-Command -ComputerName Test-PC -ScriptBlock{$PSVersionTable.PSVersion}
Se você tiver vários computadores e precisar do nome do host e da versão PS para o nome do host, poderá usar o pipeline ou o comando PSCustomObject.
Exemplo
Se você tiver uma lista de servidores, poderá adicionar todos os servidores no texto f ile e execute o comando acima.
Por exemplo, temos uma lista de servidores armazenada em D: \ Temp \ Servers.txt e precisamos obter a versão PS deles.