Windows PowerShell 2.0 è installato per impostazione predefinita su Windows 7?


8

http://msdn.microsoft.com/en-us/library/ff637750.aspx reclami

Windows PowerShell 2.0 deve essere installato solo su Windows Server 2008 e Windows Vista. È già installato su Windows Server 2008 R2 e Windows 7 .

Tuttavia, powershell.exe vive qui% SystemRoot% \ system32 \ WindowsPowerShell \ v1.0 \ powershell.exe. Non sembra che sarebbe PowerShell 2.0. La versione del file powershell.exe è 6.1.7600.16385, quindi non è di grande aiuto.

Come posso sapere con certezza se ho installato Windows PowerShell 2.0 e, in caso contrario, dov'è un collegamento per il download di Windows 7?

Risposte:


10

Non è necessario estrarlo dalle chiavi di registro. Basta eseguire get-host e controllare la versione.


Oppure usa la $Hostvariabile automatica. È contrassegnato come specifico per l'implementazione nelle specifiche (tuttavia, di nuovo, Get-Hostnon appare affatto nelle specifiche).
Joey,

Get-Host non appare affatto nelle specifiche -> È strano. Hanno appena rilasciato quella specifica un paio di settimane fa. Ti chiedi se fosse una svista?

Bene, forse non è considerato parte dei cmdlet del linguaggio principale. $Hostè anche definito solo dall'implementazione. Apparentemente le specifiche riguardano solo il linguaggio PowerShell , non l'API e il modello host.
Joey,

Non copre neanche i provider PSP, ma c'è un vantaggio per quelli.

12

Puoi anche usare $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

Questo var esiste solo in PowerShell V2.0 e fornisce la versione CLR in uso. Il risultato normale è:

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

La posizione dell'eseguibile di PowerShell e dei file di supporto non è stata modificata per V2, né l' .ps1estensione dello script perché V2 è completamente compatibile con le versioni precedenti, sostituisce V1 anziché richiedere un meccanismo affiancato.


0

Capito

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

Per verificare se è installata la versione 1.0 o 2.0 di PowerShell, controllare il seguente valore nel registro:
Posizione chiave: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ PowerShell \ 1 \ PowerShellEngine
Nome valore: PowerShellVersion
Tipo valore: REG_SZ
Dati valore: <1.0 | 2.0>


powershell v2 si trova nella directory v1.0 su win7 / 2008r2. Non è possibile installare la v1 di PowerShell su tali piattaforme anche se si desidera. Sono componenti di sistema. SE sei su w7 o r2, puoi presumere di avere PowerShell v2 o superiore.
x0n
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.