¿Cómo verificar la versión de PowerShell instalada?
En este artículo aprenderemos qué versiones de PowerShell existen, cuál es la diferencia entre Windows PowerShell
y PowerShell Core
y cómo comprobar la versión de PowerShell instalada en un equipo local o remoto.
Historial y versiones de Windows PowerShell y PowerShell Core
PowerShell se instala de forma predeterminada en todas las versiones de Windows a partir de Windows 7 SP1 y Windows Server 2008 R2 SP1. La siguiente tabla muestra la lista de todas las versiones de PowerShell:
Versión PS | Nota |
PowerShell 1.0 | Se puede instalar manualmente en Windows Server 2003 SP1 y Windows XP |
PowerShell 2.0 | Windows Server 2008 R2 y Windows 7 |
PowerShell 3.0 | Windows 8 y Windows Server 2012 |
PowerShell 4.0 | Windows 8.1 y Windows Server 2012 R2 |
PowerShell 5.0 | Preinstalado en Windows 10 RTM y actualizado automáticamente a 5.1 a través de Windows Update |
PowerShell 5.1 | Está integrado en Windows 10 (a partir de Build 1709) y Windows Server 2016 |
PowerShell Core 6.0 y 6.1 | Es la próxima versión de PowerShell multiplataforma (basada en .NET Core) que se puede instalar en todas las versiones de Windows compatibles y en MacOS, CentOS, RHEL, Debian, Ubuntu, openSUSE |
PowerShell Core 7.0 | Es la última versión de PowerShell lanzada en marzo de 2020 (se usa .NET Core 3.1 en lugar de .NET Core 2.x) |
Vale la pena señalar que en los últimos 2 años Microsoft suspendió el desarrollo del clásico Windows PowerShell (solo se publicaron correcciones de errores y actualizaciones de seguridad) y se centró en PowerShell Core multiplataforma de código abierto.
¿Cuál es la diferencia entre Windows PowerShell y PowerShell Core?
- Windows PowerShell se basa en .NET Framework (por ejemplo, PowerShell 5 requiere .NET Framework v4.5, asegúrese de que está instalado). PowerShell Core se basa en .Net Core;
- Windows PowerShell solo funciona en sistemas operativos Windows, mientras que PowerShell Core es multiplataforma y también puede funcionar en Linux;
- PowerShell Core es no es totalmente compatible con Windows PowerShell, sin embargo, Microsoft está trabajando para mejorar la compatibilidad con versiones anteriores de cmdlets y scripts de PS. (se recomienda probar sus antiguos scripts de PS1 antes de pasar a PowerShell Core). PowerShell Core 7 proporciona la mayor compatibilidad con Windows PowerShell;
- No puede usar el Editor de PowerShell ISE para editar scripts de PowerShell Core (pero se puede usar Visual Studio Code);
- Desde Windows PowerShell ya no está desarrollado, se recomienda que comience a migrar a PowerShell Core.
¿Cómo obtener la versión de PowerShell desde la consola?
La forma más fácil de averiguar qué La versión de PowerShell instalada en su computadora es usar el comando:
host
Verifique el valor de la propiedad Versión.
o
$PSVersionTable
Solo puede obtener el valor de la versión de PowerShell :
$PSVersionTable.PSVersion.major
(en este ejemplo obtuvimos PSVersion 2.0 en limpio Win dows Server 2008 R2)
El comando $ PSVersionTable funciona correctamente en PowerShell Core en diferentes sistemas operativos.
También puede averiguar la versión de PowerShell instalada a través del registro. Para hacerlo, obtenga el valor del parámetro PowerShellVersion en la clave de registro HKLM\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine
usando el cmdlet Get-ItemProperty:
En Windows Server 2008 R2 / Windows 7, puede obtener el valor del parámetro de registro en otra clave de registro:
(Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine -Name "PowerShellVersion").PowerShellVersion
Para obtener la versión de PowerShell Core instalada, use el siguiente comando:
Verifique la versión de PowerShell en computadoras remotas
Para verifique la versión de PowerShell en un host remoto, use el valor de la variable de entorno $ PSVersionTable u obtenga la información del registro directamente. Otros métodos pueden devolver datos incorrectos.
Puede instalar la versión de PowerShell en una computadora remota a través de PowerShell Remoting usando el cmdlet Invoke-Command: