Como obter a versão do Windows no PowerShell

  1. Usando a Classe [System.Environment] no PowerShell para Obter a Versão do Windows
  2. Usando o Cmdlet Get-ComputerInfo no PowerShell para Obter a Versão do Windows
  3. Usando a Classe WMI Com o Cmdlet Get-WMIObject no PowerShell para Obter a Versão do Windows
  4. Usando o Comando Legado systeminfo no PowerShell para Obter a Versão do Windows
  5. Usando o Comando Legado Get-CimInstance no PowerShell para Obter a Versão do Windows
  6. Conclusão
Como obter a versão do Windows no PowerShell

A maneira mais rápida de descobrir qual sistema operacional Windows seu computador possui é usar o comando winver. No Windows PowerShell, existem várias maneiras de obter a versão do sistema operacional Windows, e discutiremos isso aqui neste artigo.

Existem vários métodos para realizar isso, cada um com suas vantagens e casos de uso. Neste artigo, exploraremos cinco abordagens diferentes para obter a versão do Windows no PowerShell.

Cada método oferece insights únicos sobre o ambiente do Windows, fornecendo aos administradores e scripters ferramentas versáteis para reunir informações essenciais do sistema.

Usando a Classe [System.Environment] no PowerShell para Obter a Versão do Windows

No PowerShell, você pode recuperar informações detalhadas sobre a versão do Windows usando o método [Environment]::OSVersion.Version. Este método acessa a propriedade estática Version da propriedade OSVersion na classe Environment, oferecendo uma maneira direta de acessar a versão do sistema operacional.

Exemplo de Código:

[System.Environment]::OSVersion.Version

Quando usamos [Environment]::OSVersion.Version, estamos acessando a propriedade OSVersion da classe Environment, que fornece informações sobre o ambiente do sistema operacional. Especificamente, estamos recuperando a propriedade Version deste objeto, que contém detalhes sobre a versão do Windows.

Esse método retorna um objeto System.Version, que representa a versão do sistema operacional como uma combinação de números de versão principal e secundária. Ao acessar as propriedades Major e Minor deste objeto, podemos extrair esses números de versão e usá-los conforme necessário em nosso script PowerShell.

Saída:

encontrar a versão do Windows no PowerShell - saída 1

Podemos nos referir ao Documento oficial da Microsoft para fazer a referência cruzada da versão atual do sistema operacional Windows que você está executando.

No entanto, isso não mostrará a versão correta se você estiver usando o sistema operacional mais recente, como Windows 11 ou Windows Server 2019, pois ainda mostrará uma versão principal 10, que representa o Windows 10 e o Windows Server 2016. Portanto, o comando acima mostrará valores adequados apenas se você estiver executando o Windows 10 e o Windows Server 2016 abaixo.

Usando o Cmdlet Get-ComputerInfo no PowerShell para Obter a Versão do Windows

No PowerShell, você pode facilmente recuperar informações detalhadas sobre o sistema operacional Windows usando o cmdlet Get-ComputerInfo. Este cmdlet reúne informações sobre o sistema do computador local, incluindo o nome do sistema operacional, versão e a camada de abstração de hardware (HAL).

Exemplo de Código:

Get-ComputerInfo | Select-Object OSName, OSVersion, OsHardwareAbstractionLayer

Quando usamos o cmdlet Get-ComputerInfo seguido do comando Select-Object, estamos recuperando informações abrangentes sobre o sistema do computador local. Ao especificar as propriedades OSName, OSVersion e OsHardwareAbstractionLayer, estamos selecionando detalhes específicos sobre o sistema operacional, como seu nome, versão e camada de abstração de hardware (HAL).

Este método nos permite reunir informações detalhadas sobre o ambiente do Windows, que podem ser úteis para várias tarefas administrativas, solução de problemas ou propósitos de scripting. Ao acessar e exibir essas propriedades, obtemos insights sobre a configuração e as especificações do sistema Windows, ajudando na gestão e manutenção do sistema.

Saída:

encontrar versão do windows no powershell - saída 2

Usando a Classe WMI Com o Cmdlet Get-WMIObject no PowerShell para Obter a Versão do Windows

Também podemos usar a classe Windows Management Instrumentation (WMI) para verificar a versão atual do seu sistema operacional.

Exemplo de Código:

(Get-WmiObject -class Win32_OperatingSystem).Caption

Quando executamos (Get-WmiObject -class Win32_OperatingSystem).Caption, estamos utilizando o cmdlet Get-WmiObject para consultar a Windows Management Instrumentation (WMI) em busca de informações sobre o sistema operacional. Especificamente, estamos direcionando a classe Win32_OperatingSystem, que contém detalhes sobre o sistema operacional.

Ao acessar a propriedade .Caption do objeto resultante, estamos recuperando o nome do sistema operacional. Este método oferece uma abordagem direta para obter informações sobre a versão do Windows diretamente pelo PowerShell, tornando conveniente para várias tarefas de scripting e administrativas.

Saída:

encontrar versão do windows no powershell - saída 3

Ao contrário da classe [System.Environment] e do cmdlet Get-ComputerInfo, o objeto WMI exibe corretamente a versão do sistema operacional Windows se você estiver usando a versão mais recente.

Usando o Comando Legado systeminfo no PowerShell para Obter a Versão do Windows

Podemos também usar o comando legado systeminfo com wrappers de cmdlet do Windows PowerShell para gerar a versão detalhada do sistema operacional. Ao combinar systeminfo com cmdlets do PowerShell, você pode extrair informações específicas sobre a versão do Windows.

systeminfo /fo csv | ConvertFrom-Csv | select OS*, System*, Hotfix* | Format-List

Quando executamos o comando systeminfo /fo csv, estamos utilizando a ferramenta de linha de comando systeminfo para coletar informações detalhadas do sistema em formato CSV.

Em seguida, usamos ConvertFrom-Csv para converter a saída formatada em CSV em objetos PowerShell. Ao redirecionar o resultado para Select, filtramos as propriedades que nos interessam, especificamente aquelas que começam com OS, System e Hotfix.

Finalmente, aplicamos Format-List para apresentar as informações em uma visualização de lista formatada.

Saída:

encontrar versão do windows no powershell - saída 4

Usando o Comando Legado Get-CimInstance no PowerShell para Obter a Versão do Windows

Este cmdlet é parte da infraestrutura do Modelo Comum de Informações (CIM) no PowerShell, permitindo que você consulte informações do sistema de uma maneira padronizada. Ao direcionar a classe Win32_OperatingSystem, você pode acessar propriedades como o nome e a versão do sistema operacional.

(Get-CimInstance Win32_OperatingSystem) | Select-Object Caption, Version

Quando executamos (Get-CimInstance Win32_OperatingSystem) | Select-Object Caption, Version, estamos utilizando o cmdlet Get-CimInstance para recuperar informações sobre o sistema operacional Windows da classe Win32_OperatingSystem. Esta classe representa várias propriedades do sistema operacional. Ao redirecionar o resultado para Select-Object, especificamos as propriedades que nos interessam, que são Caption (representando o nome do sistema operacional) e Version.

Saída:

encontrar versão do windows no powershell - saída 5

Conclusão

No PowerShell, obter a versão do Windows é essencial para tarefas de administração e scripting do sistema. Exploramos cinco métodos diferentes para realizar isso: usando a classe [System.Environment], o cmdlet Get-ComputerInfo, o cmdlet Get-WmiObject, o comando systeminfo e o cmdlet Get-CimInstance.

Cada abordagem oferece vantagens distintas e pode ser preferida dependendo de requisitos e cenários específicos. Seja acessando a versão diretamente através da classe [System.Environment] ou consultando informações detalhadas do sistema usando Get-ComputerInfo ou Get-CimInstance, o PowerShell fornece ferramentas robustas para gerenciar e monitorar efetivamente os ambientes Windows.

Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn