Cómo obtener la versión de Windows en PowerShell
-
Usando la clase
[System.Environment]
en PowerShell para obtener la versión de Windows -
Usando el cmdlet
Get-ComputerInfo
en PowerShell para obtener la versión de Windows -
Usando la clase WMI con el cmdlet
Get-WMIObject
en PowerShell para obtener la versión de Windows -
Usando el comando legado
systeminfo
en PowerShell para obtener la versión de Windows -
Usando el comando legado
Get-CimInstance
en PowerShell para obtener la versión de Windows - Conclusión

La forma más rápida de averiguar qué sistema operativo Windows tiene su computadora es utilizar el comando winver
. En Windows PowerShell, hay múltiples maneras de obtener la versión de su sistema operativo Windows, y las discutiremos aquí en este artículo.
Existen varios métodos para lograr esto, cada uno con sus ventajas y casos de uso. En este artículo, exploraremos cinco enfoques diferentes para obtener la versión de Windows en PowerShell.
Cada método ofrece perspectivas únicas sobre el entorno de Windows, proporcionando a los administradores y guionistas herramientas versátiles para recopilar información esencial del sistema.
Usando la clase [System.Environment]
en PowerShell para obtener la versión de Windows
En PowerShell, puede recuperar información detallada sobre la versión de Windows utilizando el método [Environment]::OSVersion.Version
. Este método accede a la propiedad estática Version
de la propiedad OSVersion
en la clase Environment
, proporcionando una manera sencilla de acceder a la versión del sistema operativo.
Código de ejemplo:
[System.Environment]::OSVersion.Version
Cuando usamos [Environment]::OSVersion.Version
, estamos accediendo a la propiedad OSVersion
de la clase Environment
, que proporciona información sobre el entorno del sistema operativo. Específicamente, estamos recuperando la propiedad Version
de este objeto, que contiene detalles sobre la versión de Windows.
Este método devuelve un objeto System.Version
, que representa la versión del sistema operativo como una combinación de números de versión mayor y menor. Al acceder a las propiedades Major
y Minor
de este objeto, podemos extraer estos números de versión y usarlos según sea necesario en nuestro script de PowerShell.
Salida:
Podemos consultar el documento oficial de Microsoft para verificar la versión actual del sistema operativo Windows que está ejecutando.
Sin embargo, esto no mostrará la versión correcta si está utilizando el sistema operativo más nuevo, como Windows 11 o Windows Server 2019, ya que todavía mostrará un Build Mayor 10, que representa Windows 10 y Windows Server 2016. Por lo tanto, el comando anterior solo mostrará valores adecuados si está ejecutando Windows 10 y Windows Server 2016 o versiones anteriores.
Usando el cmdlet Get-ComputerInfo
en PowerShell para obtener la versión de Windows
En PowerShell, puede recuperar fácilmente información detallada sobre el sistema operativo Windows utilizando el cmdlet Get-ComputerInfo
. Este cmdlet recopila información sobre el sistema informático local, incluyendo el nombre del sistema operativo, versión y capa de abstracción de hardware (HAL).
Código de ejemplo:
Get-ComputerInfo | Select-Object OSName, OSVersion, OsHardwareAbstractionLayer
Cuando usamos el cmdlet Get-ComputerInfo
seguido de canalizarlo a Select-Object
, estamos recuperando información completa sobre el sistema informático local. Al especificar las propiedades OSName
, OSVersion
y OsHardwareAbstractionLayer
, estamos seleccionando detalles específicos sobre el sistema operativo, como su nombre, versión y capa de abstracción de hardware (HAL).
Este método nos permite recopilar información detallada sobre el entorno de Windows, lo cual puede ser útil para diversas tareas administrativas, resolución de problemas o propósitos de scripting. Al acceder y mostrar estas propiedades, obtenemos perspectivas sobre la configuración y especificaciones del sistema Windows, ayudando en la gestión y mantenimiento del sistema.
Salida:
Usando la clase WMI con el cmdlet Get-WMIObject
en PowerShell para obtener la versión de Windows
También podemos usar la clase de Instrumentación de administración de Windows (WMI) para verificar la versión actual de su sistema operativo.
Código de ejemplo:
(Get-WmiObject -class Win32_OperatingSystem).Caption
Cuando ejecutamos (Get-WmiObject -class Win32_OperatingSystem).Caption
, estamos utilizando el cmdlet Get-WmiObject
para consultar la Instrumentación de administración de Windows (WMI) para obtener información sobre el sistema operativo. Específicamente, estamos apuntando a la clase Win32_OperatingSystem
, que contiene detalles sobre el sistema operativo.
Al acceder a la propiedad .Caption
del objeto resultante, estamos recuperando el nombre del sistema operativo. Este método ofrece un enfoque sencillo para obtener la información de la versión de Windows directamente a través de PowerShell, lo que lo hace conveniente para diversas tareas de scripting y administrativas.
Salida:
A diferencia de la clase [System.Environment]
y el cmdlet Get-ComputerInfo
, el objeto WMI muestra correctamente la versión del sistema operativo Windows si está utilizando la versión más reciente.
Usando el comando legado systeminfo
en PowerShell para obtener la versión de Windows
También podemos usar el comando legado systeminfo
con envolturas de cmdlets de Windows PowerShell para mostrar la versión detallada del sistema operativo. Al combinar systeminfo
con cmdlets de PowerShell, puede extraer información específica sobre la versión de Windows.
systeminfo /fo csv | ConvertFrom-Csv | select OS*, System*, Hotfix* | Format-List
Cuando ejecutamos el comando systeminfo /fo csv
, estamos utilizando la herramienta de línea de comandos systeminfo
para recopilar información detallada del sistema en formato CSV.
Luego, usamos ConvertFrom-Csv
para convertir la salida en formato CSV en objetos de PowerShell. Al canalizar el resultado en Select
, filtramos las propiedades que nos interesan, específicamente aquellas que comienzan con OS
, Systema
y Hotfix
.
Finalmente, aplicamos Format-List
para presentar la información en una vista de lista formateada.
Salida:
Usando el comando legado Get-CimInstance
en PowerShell para obtener la versión de Windows
Este cmdlet es parte de la infraestructura del Modelo de Información Común (CIM) en PowerShell, lo que le permite consultar información del sistema de manera estandarizada. Al dirigirse a la clase Win32_OperatingSystem
, puede acceder a propiedades como el nombre del sistema operativo y la versión.
(Get-CimInstance Win32_OperatingSystem) | Select-Object Caption, Version
Cuando ejecutamos (Get-CimInstance Win32_OperatingSystem) | Select-Object Caption, Version
, estamos utilizando el cmdlet Get-CimInstance
para recuperar información sobre el sistema operativo Windows de la clase Win32_OperatingSystem
. Esta clase representa varias propiedades del sistema operativo. Al canalizar el resultado en Select-Object
, especificamos las propiedades que nos interesan, que son Caption
(que representa el nombre del sistema operativo) y Version
.
Salida:
Conclusión
En PowerShell, obtener la versión de Windows es esencial para la administración del sistema y tareas de scripting. Hemos explorado cinco métodos diferentes para lograr esto: utilizando la clase [System.Environment]
, el cmdlet Get-ComputerInfo
, el cmdlet Get-WmiObject
, el comando systeminfo
, y el cmdlet Get-CimInstance
.
Cada enfoque ofrece ventajas distintas y puede ser preferido dependiendo de requisitos y escenarios específicos. Ya sea accediendo a la versión directamente a través de la clase [System.Environment]
o consultando información detallada del sistema utilizando Get-ComputerInfo
o Get-CimInstance
, PowerShell proporciona herramientas robustas para gestionar y monitorear eficazmente los entornos de Windows.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn