Gdzie znajduje się Powershell (wersja 2.0)? Jaka jest ścieżka do programu Powershell.exe? Mam zainstalowany system Windows Server 2008 i Powershell. Kiedy patrzę na ten folder:
PS C:\Windows\System32\WindowsPowerShell> dir
Directory: C:\Windows\System32\WindowsPowerShell
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 20.4.2010 17:09 v1.0
Mam tylko Powershell v1.0. Ale kiedy piszę
PS C:\> $Host.version
Major Minor Build Revision
----- ----- ----- --------
2 0 -1 -1
PS C:\>
Pokazuje, że mam zainstalowaną wersję 2.0.
powershell
path
jjoras
źródło
źródło
Odpowiedzi:
Wierzę, że to jest
C:\Windows\System32\WindowsPowershell\v1.0\
. Aby zmylić niewinnych, MS trzymało go w katalogu oznaczonym „v1.0”. Uruchomienie tego w systemie Windows 7 i sprawdzenie numeru wersji za pomocą$Host.Version
( Określ zainstalowaną wersję PowerShell ) pokazuje, że jest to 2.0.Inną opcją jest wpisanie
$PSVersionTable
w wierszu polecenia. Jeśli używasz wersji 2.0, wynik będzie następujący:Jeśli używasz wersji 1.0, zmienna nie istnieje i nie będzie żadnych danych wyjściowych.
Lokalizacja PowerShell w wersji 1.0, 2.0, 3.0, 4.0:
źródło
Myślę, że $ PsHome ma informacje, których szukasz?
źródło
Oto jeden sposób ...
Oto prawdopodobnie lepszy sposób, ponieważ zwraca pierwsze trafienie na ścieżce, tak jak gdybyś uruchomił Powershell z wiersza poleceń ...
źródło
powershell.exe
jest trochę zbyt luźne, ponieważ można łatwo zmienić nazwę innego pliku wykonywalnego napowershell.exe
i zamiast tego wybrać ten proces.Get-Process -Id $PID
zadziała, chociaż nie jestem pewien, która wersja$PID
została wprowadzona.Zawsze jest to C: \ Windows \ System32 \ WindowsPowershell \ v1.0. Zostało tak, ponieważ gdzieś słyszałem lub czytałem wsteczną kompatybilność.
źródło