Czy Windows PowerShell 2.0 jest domyślnie instalowany w systemie Windows 7?

8

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

Program Windows PowerShell 2.0 musi być zainstalowany tylko w systemach Windows Server 2008 i Windows Vista. Jest już zainstalowany na Windows Server 2008 R2 i Windows 7 .

Jednak plik powershell.exe żyje tutaj% SystemRoot% 32 WindowsPowerShell v1.0 powershell.exe. To nie wydaje się być PowerShell 2.0. Wersja pliku powershell.exe to 6.1.7600.16385, więc to też niewiele pomaga.

Skąd mam wiedzieć, czy mam zainstalowany program Windows PowerShell 2.0, a jeśli nie, to gdzie jest łącze pobierania dla systemu Windows 7?

kenwarner
źródło

Odpowiedzi:

10

Nie musisz go wykopywać z kluczy rejestru. Po prostu uruchom get-host i sprawdź wersję.


źródło
Lub użyj $Host zmienna automatyczna. Jest jednak oznaczony jako specyfikacja w specyfikacji, ale wtedy Get-Host w ogóle nie pojawia się w specyfikacji).
Joey
Get-Host w ogóle nie pojawia się w specyfikacji - & gt; To jest dziwne. Właśnie wydali tę specyfikację kilka tygodni temu. Ciekawe, czy to było przeoczenie?
Cóż, może nie jest uważany za część cmdletów języka podstawowego. $Host jest także definiowany tylko przez implementację. Specyfikacja najwyraźniej dotyczy tylko PowerShell język , nie API i model hosta.
Joey
Nie obejmuje też PSProviderów, ale jest dla nich get-get.
12

Możesz także użyć $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

Ten var istnieje tylko w PowerShell V2.0 i daje używaną wersję CLR. Normalny wynik to:

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
JPBlanc
źródło
4

Lokalizacja pliku wykonywalnego PowerShell i plików pomocniczych nie została zmieniona dla V2, podobnie jak .ps1 rozszerzenie skryptu, ponieważ V2 jest w pełni kompatybilny wstecz - zastępuje V1, a nie wymaga mechanizmu obok siebie.

Richard
źródło
0

Domyśliłam się

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

Aby sprawdzić, czy zainstalowano wersję 1.0 lub 2.0 PowerShell, sprawdź w rejestrze następującą wartość:
Lokalizacja klucza: HKEY_LOCAL_MACHINE OPROGRAMOWANIE Microsoft PowerShell 1 ShellShell
Nazwa wartości: PowerShellVersion
Typ wartości: REG_SZ
Dane wartości: <1,0 | 2.0 & gt;

kenwarner
źródło
powershell v2 znajduje się w katalogu v1.0 na win7 / 2008r2. Nie można zainstalować v1 PowerShell na tych platformach, nawet jeśli chcesz. Są to składniki systemu. Jeśli jesteś na w7 lub r2, możesz założyć, że masz Powerhell v2 lub wyższy.
x0n