Pregunta Determine la versión de PowerShell instalada


¿Cómo puedo determinar qué versión de PowerShell está instalada en una computadora y, de hecho, si está instalada?


2076
2017-12-01 11:30


origen


Respuestas:


Utilizar $PSVersionTable.PSVersion para determinar la versión del motor. Si la variable no existe, es seguro asumir que el motor es versión 1.0.

Tenga en cuenta que $Host.Version y (Get-Host).Version no son confiables, reflejan la versión del host solamente, no el motor. PowerGUI, PowerShellPLUS, etc. son todas aplicaciones de alojamiento, y establecerán la versión del host para reflejar su producto versión - que es completamente correcta, pero no es lo que estás buscando.

PS C:\> $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
4      0      -1     -1

2793
2018-01-19 11:06



Yo usaría cualquiera Obtener-Host o $ PSVersionTable. Como señala Andy Schneider, $PSVersionTable no funciona en la versión 1; fue introducido en la versión 2.

get-host

Name             : ConsoleHost
Version          : 2.0
InstanceId       : d730016e-2875-4b57-9cd6-d32c8b71e18a
UI               : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture   : en-GB
CurrentUICulture : en-US
PrivateData      : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
IsRunspacePushed : False
Runspace         : System.Management.Automation.Runspaces.LocalRunspace

$PSVersionTable

Name                           Value
----                           -----
CLRVersion                     2.0.50727.4200
BuildVersion                   6.0.6002.18111
PSVersion                      2.0
WSManStackVersion              2.0
PSCompatibleVersions           {1.0, 2.0}
SerializationVersion           1.1.0.1
PSRemotingProtocolVersion      2.1

371
2017-12-01 11:34



Para determinar si PowerShell está instalado, puede verificar el registro de la existencia de

HKEY_LOCAL_MACHINE\Software\Microsoft\PowerShell\1\Install

y

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3

y, si existe, si el valor es 1 (para instalado), como se detalla en la publicación de blog Compruebe si PowerShell está instalado y versión.

Para determinar la versión de PowerShell que está instalada, puede verificar las claves de registro

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine\PowerShellVersion

y

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine\PowerShellVersion

Para determinar la versión de PowerShell que se instala desde una secuencia de comandos .ps1, puede usar la siguiente línea, como se detalla en PowerShell.com en ¿Qué versión de PowerShell estoy ejecutando?.

$isV2 = test-path variable:\psversiontable

El mismo sitio también proporciona una función para devolver la versión:

function Get-PSVersion {
    if (test-path variable:psversiontable) {$psversiontable.psversion} else {[version]"1.0.0.0"}
}

86
2017-12-01 14:37



Puedes mirar la variable incorporada, $psversiontable. Si no existe, tienes V1. Si existe, le dará toda la información que necesita.

1 >  $psversiontable

Name                           Value                                           
----                           -----                                           
CLRVersion                     2.0.50727.4927                                  
BuildVersion                   6.1.7600.16385                                  
PSVersion                      2.0                                             
WSManStackVersion              2.0                                             
PSCompatibleVersions           {1.0, 2.0}                                      
SerializationVersion           1.1.0.1                                         
PSRemotingProtocolVersion      2.1    

77
2018-04-25 13:47



Solo quiero agregar mis 2 centavos aquí.

Puede verificar directamente la versión con una sola línea invocando powershell externamente, como desde el símbolo del sistema

powershell -Command "$PSVersionTable.PSVersion"

EDITAR:

De acuerdo a @psaul tú poder en realidad tiene un comando que es agnóstico de donde vino (CMD, Powershell o Pwsh), gracias por eso.

powershell -command "(Get-Variable PSVersionTable -ValueOnly).PSVersion" 

Lo probé y funcionó a la perfección tanto en CMD como en Powershell

image


23
2018-03-10 11:32



Puede verificar esa versión de Windows PowerShell instalada completando la siguiente comprobación:

  1. Haga clic en Inicio, haga clic en Todos los programas, haga clic en Accesorios, haga clic en Windows PowerShell y luego en Windows PowerShell.
  2. En la consola de Windows PowerShell, escriba el siguiente comando en el símbolo del sistema y luego presione ENTRAR:

    Get-Host | Versión Select-Object

Verás un resultado que se ve así:

Version
-------
3.0

http://www.myerrorsandmysolutions.com/how-to-verify-the-windows-powershell-version-installed/


19
2018-06-17 07:59



Método compatible con versiones anteriores recomendado por Microsoft para verificar si PowerShell está instalado y determinar la versión instalada es mirar dos claves de registro específicas. He reproducido los detalles aquí en caso de que se rompa el enlace.

De acuerdo con la página enlazada:

Dependiendo de cualquier otra clave de registro, no se garantiza que la versión de PowerShell.exe o la ubicación de PowerShell.exe funcionen a largo plazo.

Para verificar si cualquier versión de PowerShell está instalado, verifique el siguiente valor en el registro:

  • Ubicación clave: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1
  • Nombre del valor: Instalar
  • Tipo de valor: REG_DWORD
  • Datos de valor: 0x00000001 (1

Verificar ya sea la versión 1.0 o 2.0 de PowerShell está instalado, verifique el siguiente valor en el registro:

  • Ubicación clave: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine
  • Nombre del valor: PowerShellVersion
  • Tipo de valor: REG_SZ
  • Datos de valor: <1.0 | 2.0>

18
2017-11-04 10:24



Encontré que la manera más fácil de verificar si estaba instalado era:

  • ejecutar un símbolo del sistema (Inicio, Ejecutar, cmd, entonces OK)
  • tipo powershell luego presiona return. Deberías obtener el PowerShell PS rápido:

C:\Users\MyUser>powershell

Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.

PS C:\Users\MyUser>

Luego puede verificar la versión desde el indicador de PowerShell escribiendo $PSVersionTable.PSVersion:

PS C:\Users\MyUser> $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
2      0      -1     -1

PS C:\Users\MyUser>

Tipo exit si desea volver al indicador de comando (exit de nuevo si también desea cerrar el símbolo del sistema).

Para ejecutar scripts, consulte http://ss64.com/ps/syntax-run.html.


11
2017-12-01 11:35



Para verificar si PowerShell está instalado, use:

HKLM\Software\Microsoft\PowerShell\1 Install ( = 1 )

Para verificar si RC2 o RTM está instalado, use:

HKLM\Software\Microsoft\PowerShell\1 PID (=89393-100-0001260-00301) -- For RC2
HKLM\Software\Microsoft\PowerShell\1 PID (=89393-100-0001260-04309) -- For RTM

Fuente: este sitio web.


8
2017-11-01 01:41