Como obter a versão do PowerShell
- 
          
            Use a Propriedade $PSVersionTable.PSVersionpara Obter a Versão do PowerShell
- 
          
            Use a Propriedade (Get-Host).Versionpara Obter a Versão do PowerShell
- 
          
            Use a Propriedade $host.Versionpara 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.
