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?
windows-7
powershell
powershell-2.0
kenwarner
źródło
źródło
$Host
zmienna automatyczna. Jest jednak oznaczony jako specyfikacja w specyfikacji, ale wtedyGet-Host
w ogóle nie pojawia się w specyfikacji).$Host
jest także definiowany tylko przez implementację. Specyfikacja najwyraźniej dotyczy tylko PowerShell język , nie API i model hosta.Możesz także użyć
$PSVersionTable
Ten var istnieje tylko w PowerShell V2.0 i daje używaną wersję CLR. Normalny wynik to:
źródło
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.źródło
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;
źródło