Como obter a versão do PowerShell
-
Use a Propriedade
$PSVersionTable.PSVersion
para Obter a Versão do PowerShell -
Use a Propriedade
(Get-Host).Version
para Obter a Versão do PowerShell -
Use a Propriedade
$host.Version
para Obter a Versão do PowerShell - Use o Registro para Obter a Versão do PowerShell

O PowerShell é um tipo de prompt de comando mais complexo. Ele vem com um grande número de cmdlets preparados e a capacidade de utilizar o framework .NET/C# em vários cenários. O PowerShell ISE é uma interface gráfica para depurar e editar scripts no Windows. No PowerShell, a mesma coisa pode ser feita de várias maneiras. Portanto, principalmente, existem quatro maneiras de obter a versão do PowerShell, que são apresentadas abaixo.
Use a Propriedade $PSVersionTable.PSVersion
para Obter a Versão do PowerShell
Então, o primeiro método que estamos analisando é o atributo PSVersion na variável automática $PSVersionTable
. Aqui, ele representa o mecanismo do PowerShell.
PS52> $PSVersionTable.PSVersion
Saída:
Major Minor Build Revision
----- ----- ----- --------
5 1 19041 1320
$PSVersionTable
é uma tabela hash somente leitura que fornece informações sobre a versão do mecanismo PowerShell, bem como a PSEdition. Este parâmetro pode ser Desktop ou Core, e fornecerá informações adicionais sobre a edição do PowerShell que você está usando.
A variável automática $PSVersionTable
é tão precisa localmente quanto seria remotamente. No exemplo abaixo, encapsulando $PSVersionTable.PSVersion
dentro de um bloco de script e executando-o em uma máquina remota retorna a mesma versão.
PS> Invoke-Command -ComputerName 11.0.0.3 -ScriptBlock {$PSVersionTable.PSVersion} -Credential $cred
Saída:
Use a Propriedade (Get-Host).Version
para Obter a Versão do PowerShell
A ideia de hosts é utilizada no PowerShell. Não é o mecanismo do PowerShell que está causando o problema. Os hosts do PowerShell são editores de código/consoles com um terminal integrado. O host pode ter uma edição totalmente autônoma do PowerShell.
Quando (Get-Host).Version
é usado, ele retorna um número de versão semelhante à versão do PowerShell.
PS52> (Get-Host).Version
Saída:
Major Minor Build Revision
----- ----- ----- --------
5 1 19041 1320
No entanto, a versão do Get-Host no terminal integrado nem sempre é a mesma. Embora o host normalmente represente a mesma edição do mecanismo PowerShell, isso não é sempre o caso. Quando Get-Host é chamado em um computador local, ele sempre retorna a mesma versão, mas nunca em sistemas remotos.
Portanto, usar Get-Host para tudo é uma ideia terrível.
Use a Propriedade $host.Version
para Obter a Versão do PowerShell
$host.Version
é outro método para obter a versão do mecanismo PowerShell. Get-Host
entrega o mesmo resultado que a variável $host, uma variável totalmente automática.
PS52> $host.Version
Saída:
Major Minor Build Revision
----- ----- ----- --------
5 1 19041 1320
Isso é bastante semelhante ao método Get-host
.
Use o Registro para Obter a Versão do PowerShell
Você também pode verificar o registro somente se não estiver interessado em lançar o PowerShell. A edição do PowerShell é armazenada no caminho da chave do registro como segue HKLM:\SOFTWARE\Microsoft\PowerShell\3\
e também como um valor. Get-ItemProperty
pode ser usado para referenciar o valor PowerShellVersion nesta entrada do registro.
PS51> (Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name 'PowerShellVersion').PowerShellVersion
Saída:
5.1.19041.1
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.