Como posso determinar qual versão do Windows está sendo executada em um servidor usando o PowerShell?

9

Estou tentando escrever um script do PowerShell que possa ser executado em servidores remotos. Nestes scripts eu quero realizar diferentes funções dependendo de qual versão do Windows está sendo executada nas máquinas.

Não consigo encontrar nenhuma informação útil na net sobre como determinar qual versão do Windows está sendo executada na máquina em que o script está sendo executado (Server 2003, Server 2008 R2 etc.). Alguma idéia de como posso fazer isso?

    
por Vermin 14.07.2011 / 12:36

3 respostas

7

Este é o que eu usaria:

gwmi win32_operatingSystem | select name

Como todda.speot.is mencionou, esse é o mesmo link que encontrei, mas há muitas respostas, e eu testei. Aquele que eu dei parece dar a você o que você quer, embora você tenha que analisá-lo (acho que é o termo certo).

Aqui está um exemplo de saída:

Microsoft Windows Server 2003 R2 Standard x64 Edition|C:\WINDOWS|\Device\Harddisk0\Partition1

link

    
por 14.07.2011 / 12:52
2
Get-WmiObject -Class Win32_OperatingSystem | ForEach-Object -MemberName Caption

Ou golfe

gwmi win32_operatingsystem |% caption

Resultado

Microsoft Windows 7 Ultimate
    
por 13.05.2014 / 04:55
1

Eu usaria:

gwmi win32_operatingSystem | select caption

Nenhuma 'análise' é necessária. ; ^)

Exemplo de saída:

Microsoft Windows Server 2003 R2 Standard x64 Edition

    
por 30.08.2013 / 12:59