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?

Odpowiedzi:


10

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


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

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.


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;


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.