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.