PowerShell é um shell de linha de comando baseado em tarefas e linguagem de script desenvolvido no .NET. Inicialmente, apenas um componente do Windows, o PowerShell tornou-se de código aberto e multiplataforma em 18 de agosto de 2016 com a introdução do PowerShell Core.
Como verificar sua versão do PowerShell
Vamos verificar rapidamente a versão do PowerShell instalada no seu dispositivo:
- Inicie o PowerShell abrindo o menu Iniciar e digitando powershell .
- Na lista de resultados da pesquisa, clique em Windows PowerShell ou PowerShell v7 .
- Na janela do PowerShell, digite $PSVersionTable.PSVersion e pressione ENTER para obter a versão exata do PowerShell.
Para mais detalhes sobre as diferentes maneiras de verificar a versão do PowerShell e instalar a versão do PowerShell em sistemas remotos, continue lendo!
Do PowerShell 1.0 ao Windows PowerShell e ao PowerShell v7, mas qual versão você está usando?
O PowerShell 1.0 foi lançado em 2006 para o sistema operacional Windows , incluindo Windows XP (SP2), Windows Server 2003 (r2 SP1) e Windows Vista . Ele faz parte do .NET framework e ainda vem com um programa gráfico chamado PowerShell ISE . Você pode procurá-lo no menu Iniciar.
No estilo típico da Microsoft, há uma infinidade de maneiras de determinar qual versão do PowerShell você está executando. No entanto, você deve ter cuidado ao usar a “melhor”, pois alguns métodos não necessariamente darão os resultados precisos que você está procurando – especialmente se você precisa satisfazer um certo requisito ou pré-requisito antes de poder executar um comando específico ou carregar um certo módulo.
Mas não se preocupe, abordarei alguns métodos básicos e depois terminarei com a solução mágica que você definitivamente deve ter em seu cinto de ferramentas do PowerShell.
O comando Get-Host e os comandos $host
A dinâmica básica ‘cliente-servidor’ que o PowerShell usa é o conceito de um host . Um host é um programa que hospeda o PowerShell .
Você pode ter várias versões de hosts do PowerShell instaladas em um computador, então cada mecanismo do PowerShell é seu próprio host. O principal culpado pela imprecisão dos comandos a seguir é que você pode ter um host que tem uma versão independente do próprio PowerShell.
Deixe-me mostrar a você abrindo uma nova janela do PowerShell no meu cliente Windows 11 no meu ambiente de laboratório do Active Directory do Windows Server 2022 (Hyper-V). Você também pode especificar seu console do PowerShell como seu perfil padrão no Windows Terminal .
O comando Get-Host
Você pode usar o comando Get-Host para ter uma ideia da versão do PowerShell que está executando. No entanto, novamente, isso pode ser impreciso.
Obter-Host
Os comandos $host e $host.Version
A variável $host é uma variável automática que retorna a mesma saída que o comando ‘Get-Host’ acima.
$host
$host.Version
Como você pode ver, a saída é idêntica aos comandos originais acima.
Por que esses dois comandos nem sempre são recomendados?
Eu vou explicar por que esses dois comandos não são confiáveis em breve. Mas, deixe-me dar uma prévia. Quando executo um comando em um computador remoto (um dos meus Controladores de Domínio do Windows Server 2022), ele não relata resultados precisos.
Invoke-Command -ComputerName WS16-DC1 -ScriptBlock {$host.Version} -Credential $cred
O comando $PSVersionTable
Então, lembra quando eu estava falando sobre uma bala de prata? Bem, é isso. O comando nativo que usaremos é a variável automática PSVersionTable que retorna informações especificamente sobre a versão do mecanismo do PowerShell.
O comando $PSVersionTable não só retorna a versão do PowerShell, mas também a ‘Edition’. Aliás, esse comando também informará se você está executando o PowerShell Core ou o PowerShell Desktop.
$PSVersionTable
Como verificar sua versão do PowerShell usando o Registro
Assim como em quase todos os aplicativos e recursos do Windows, você pode abrir o Registro para obter informações de configuração e versão. Isso inclui o PowerShell. Você pode executar este comando para visualizar a chave de registro PowerShellVersion com o comando ‘Get-ItemProperty’.
(Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name 'PowerShellVersion').PowerShellVersion
Como verificar a versão do PowerShell em PCs remotos
Graças à robustez e escalabilidade do PowerShell, você pode verificar as versões do PowerShell em computadores remotos também. Você pode usar os mesmos comandos como se estivesse localmente na máquina remota. No entanto, há alguns pré-requisitos que você vai querer verificar em suas máquinas remotas primeiro.
O mais básico é verificar se o Windows Management Framework (WMF) está instalado e habilitado. Você pode executar o comando winrm quickconfig uma vez na máquina remota (como um Administrador) para que o Windows cuide de todas as verificações e balanços.
winrm quickconfig
Depois de preparar um PC para ser acessado remotamente pelo PowerShell, aqui estão alguns exemplos de comandos remotos que você pode executar para verificar as versões do PowerShell. Vamos começar com o comando Get-Host
Invoke-Command -ComputerName WS16-DC1 -ScriptBlock { Get-Host } -Credential $cred
Novamente, este é um dos meus DCs do Windows Server 2022 relatando a versão imprecisa de 1.0. Isso NÃO está correto. Então, novamente, você vai querer usar nossa bala de prata remotamente também, o comando $PSVersionTable.
Usando $PSVersionTable em PCs remotos
O comando $PSVersionTable , quando executado remotamente, informará com precisão a versão do PowerShell em execução no computador remoto.
Invoke-Command -ComputerName WS16-DC1 -ScriptBlock {$PSVersionTable.PSVersion} -Credential $cred
Como posso instalar a versão mais recente do PowerShell?
Novamente, como é típico da Microsoft, há até mesmo pequenas dicas ao iniciar o PowerShell de que há versões melhores e mais brilhantes que você pode usar. Eles não vão parar por nada? Nada é sagrado? 😉
Então, deixe-me mostrar alguns métodos que você pode usar para instalar uma versão mais recente e segura do PowerShell.
Loja Microsoft
No Windows 10 e no Windows 11, você pode simplesmente abrir a Microsoft Store e procurar por PowerShell.
WinGet
Você pode usar o gerenciador de pacotes, WinGet , para baixar a versão mais recente da sua linha de comando/terminal favorito. Como o comando winget pode baixar o PowerShell de vários repositórios (Microsoft Store (msstore) ou ‘winget’), eu uso a opção ‘-s’ para especificar ‘winget’.
winget show PowerShell -s winget
Superestrada da informação
Você também pode navegar no site Docs da Microsoft para baixar vários tipos de pacotes do PowerShell.
ocê está procurando uma versão para macOS? Navegue aqui! E o Linux? Você adivinhou. O PowerShell é multiplataforma e de código aberto. Pegue a versão para Linux aqui!
Espero que você tenha aprendido um pouco mais sobre o PowerShell e como determinar qual versão dele seu computador está executando. Você também tem várias maneiras de baixar e instalar a versão mais recente em seus PCs, e minha preferência é usar o winget.
Por favor, sinta-se à vontade para deixar um comentário se tiver alguma dúvida ou quiser expressar suas opiniões. Obrigado por ler!