Путь к Powershell.exe (v 2.0)
где находится Powershell (версия 2.0)? Каков путь к Powershell.exe? У меня установлен Windows Server 2008 и Powershell. Когда я смотрю на эту папку:
PS C:WindowsSystem32WindowsPowerShell> dir
Directory: C:WindowsSystem32WindowsPowerShell
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 20.4.2010 17:09 v1.0
у меня есть только PowerShell версии 1.0. Но когда я набираю
PS C:> $Host.version
Major Minor Build Revision
----- ----- ----- --------
2 0 -1 -1
PS C:>
это показывает, что у меня установлен v2.0.
4 ответов:
Я считаю, что это в
C:\Windows\System32\WindowsPowershell\v1.0\. Чтобы запутать невинных, MS хранила его в каталоге с надписью "v1.0". Запуск этого в windows 7 и проверка номера версии через$Host.Version(определить установленную версию PowerShell) показывает, что это 2.0.другой вариант-типа
$PSVersionTableв командной строке. Если вы работаете в версии v2.0, то на выходе будет:Name Value ---- ----- CLRVersion 2.0.50727.4927 BuildVersion 6.1.7600.16385 PSVersion 2.0 WSManStackVersion 2.0 PSCompatibleVersions {1.0, 2.0} SerializationVersion 1.1.0.1 PSRemotingProtocolVersion 2.1если вы используете версию 1.0, переменная не существует и не будет выход.
локализация PowerShell версии 1.0, 2.0, 3.0, 4.0:
- версия 64 битов :C:\Windows\System32\WindowsPowerShell\v1.0
- версия 32 битов : C:\Windows\SysWOW64\WindowsPowerShell\v1.0
Я думаю, что $PsHome имеет информацию, которую вы ищете?
PS .> $PsHome C:\Windows\System32\WindowsPowerShell\v1.0 PS .> Get-Help about_automatic_variables TOPIC about_Automatic_Variables ...
вот один из способов...
(Get-Process powershell | select -First 1).Pathвот, возможно, лучший способ, так как он возвращает первое попадание на пути, так же, как если бы вы запустили Powershell из командной строки...
(Get-Command powershell.exe).Definition
это всегда C:\Windows\System32\WindowsPowershell\v1.0. Это было оставлено так, потому что обратная совместимость - это то, что я где-то слышал или читал.
Comments