http://msdn.microsoft.com/en-us/library/ff637750.aspx reclamaciones
Windows PowerShell 2.0 debe instalarse solo en Windows Server 2008 y Windows Vista. Ya está instalado en Windows Server 2008 R2 y Windows 7 .
Sin embargo, powershell.exe vive aquí% SystemRoot% \ system32 \ WindowsPowerShell \ v1.0 \ powershell.exe. Eso no parece que sea PowerShell 2.0. La versión del archivo de powershell.exe es 6.1.7600.16385 por lo que tampoco ayuda mucho.
¿Cómo puedo saber con seguridad si tengo instalado Windows PowerShell 2.0 y, en caso contrario, dónde está el enlace de descarga de Windows 7?
windows-7
powershell
powershell-2.0
kenwarner
fuente
fuente
$Host
variable automatica Sin embargo, está marcado como específico de la implementación en la especificación (de nuevo,Get-Host
no aparece en absoluto en la especificación).$Host
También es solo de implementación definida. La especificación aparentemente solo cubre el PowerShell. idioma , no la API y el modelo de host.También puedes usar
$PSVersionTable
Esta var existe solo en PowerShell V2.0 y proporciona la versión CLR que utiliza. El resultado normal es:
fuente
La ubicación del ejecutable de PowerShell y los archivos de soporte no se modificaron para V2, ni se modificó la
.ps1
Extensión de script porque V2 es totalmente compatible con versiones anteriores: reemplaza a V1 en lugar de necesitar algún mecanismo de lado a lado.fuente
Lo averigué
http://blogs.msdn.com/b/powershell/archive/2009/06/25/detection-logic-poweshell-installation.aspx
Para verificar si la versión 1.0 o 2.0 de PowerShell está instalada, 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: & lt; 1.0 | 2.0 & gt;
fuente