¿Cómo puedo determinar qué versión de Windows se ejecuta en un servidor con PowerShell?

9

Estoy tratando de escribir un script de PowerShell que pueda ejecutar en servidores remotos. En estos scripts quiero llevar a cabo diferentes funciones según la versión de Windows que se ejecute en las máquinas.

Parece que no puedo encontrar información útil en la red sobre cómo determinar qué versión de Windows se está ejecutando en la máquina en la que se ejecuta el script (Servidor 2003, Servidor 2008 R2, etc.). ¿Alguna idea de cómo puedo hacer esto?

Alimañas
fuente
Busqué en Google durante 30 segundos y encontré eggheadcafe.com/software/aspnet/31845351/…
ta.speot.is
gracias por esa ayuda, creo que tengo algunas cosas que aprender cuando busco respuestas en la red. por interés, ¿qué escribiste en google para encontrar esa respuesta?
Vermin
@Vermin Probé algunos en base a estas palabras y luego leí algunos de los resultados: usando powershell determinar la versión de Windows
KCotreau
google.com.au/…
ta.speot.is

Respuestas:

7

Este es el que usaría:

gwmi win32_operatingSystem | select name

Como se menciona todda.speot., ese es el mismo enlace que encontré, pero hay muchas respuestas dentro y las probé. El que le di parece darle lo que quiere, aunque tendrá que analizarlo (creo que es el término correcto).

Aquí hay una muestra de salida:

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

http://www.eggheadcafe.com/software/aspnet/31845351/reliable-way-to-get-windows-version.aspx

KCotreau
fuente
2
Get-WmiObject -Class Win32_OperatingSystem | ForEach-Object -MemberName Caption

O golf

gwmi win32_operatingsystem |% caption

Resultado

Microsoft Windows 7 Ultimate
Steven Penny
fuente
1

Yo usaría:

gwmi win32_operatingSystem | seleccione subtítulo

No se requiere 'análisis'. ; ^)

Salida de muestra:

Microsoft Windows Server 2003 R2 Standard x64 Edition

MicaH
fuente