O Windows PowerShell 2.0 está instalado por padrão no Windows 7?


8

http://msdn.microsoft.com/en-us/library/ff637750.aspx reivindicações

O Windows PowerShell 2.0 precisa ser instalado apenas no Windows Server 2008 e no Windows Vista. Ele já está instalado no Windows Server 2008 R2 e Windows 7 .

No entanto, o powershell.exe mora aqui% SystemRoot% \ system32 \ WindowsPowerShell \ v1.0 \ powershell.exe. Parece que não seria o PowerShell 2.0. A versão do arquivo do powershell.exe é 6.1.7600.16385, o que também não ajuda muito.

Como tenho certeza se tenho o Windows PowerShell 2.0 instalado e, se não, onde está um link de download para o Windows 7?

Respostas:


10

Você não precisa desenterrá-lo das chaves do registro. Basta executar o get-host e verificar a versão.


Ou use a $Hostvariável automática. Porém, está marcado como específico da implementação na especificação (então, novamente, Get-Hostnão aparece na especificação).
Joey

Get-Host não aparece na especificação -> Isso é estranho. Eles acabaram de lançar essa especificação algumas semanas atrás. Gostaria de saber se isso foi uma supervisão?

Bem, talvez não seja considerado parte dos cmdlets do idioma principal. $Hosttambém é apenas definido pela implementação. Aparentemente, a especificação abrange apenas a linguagem do PowerShell , não a API e o modelo de host.
Joey

Também não abrange os PSProviders, mas há uma vantagem para eles.

12

Você também pode usar $PSVersionTable

PS > $PSVersionTable

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

Essa var existe apenas no PowerShell V2.0 e fornece a versão do CLR usada. O resultado normal é:

PS > $PSVersionTable

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

4

O local dos arquivos executáveis ​​e de suporte do PowerShell não foi alterado para a V2, nem a .ps1extensão de script porque a V2 é totalmente compatível com versões anteriores - substitui a V1 em vez de precisar de algum mecanismo lado a lado.


0

Descobri isso

http://blogs.msdn.com/b/powershell/archive/2009/06/25/detection-logic-poweshell-installation.aspx

Para verificar se a versão 1.0 ou 2.0 do PowerShell está instalada, verifique o seguinte valor no registro:
Local da Chave: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ PowerShell \ 1 \ PowerShellEngine
Nome do Valor: PowerShellVersion
Tipo de Valor: REG_SZ
Dados do Valor: <1.0 | 2.0>


O powershell v2 está no diretório v1.0 em win7 / 2008r2. Você não poderia instalar a v1 do powershell nessas plataformas, mesmo que quisesse. Eles são componentes do sistema. Se você estiver em w7 ou r2, pode assumir que possui o PowerShell v2 ou superior.
x0n
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.