Como obter a versão do Windows no PowerShell
-
Usando a Classe
[System.Environment]no PowerShell para Obter a Versão do Windows -
Usando o Cmdlet
Get-ComputerInfono PowerShell para Obter a Versão do Windows -
Usando a Classe WMI Com o Cmdlet
Get-WMIObjectno PowerShell para Obter a Versão do Windows -
Usando o Comando Legado
systeminfono PowerShell para Obter a Versão do Windows -
Usando o Comando Legado
Get-CimInstanceno PowerShell para Obter a Versão do Windows - Conclusão
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:

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:

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:

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:

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:

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.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn