Powershell.exe的path(v 2.0)

Powershell(版本2.0)在哪里? 什么是Powershell.exe的path? 我安装了Windows Server 2008和Powershell。 当我看这个文件夹:

PS C:\Windows\System32\WindowsPowerShell> dir Directory: C:\Windows\System32\WindowsPowerShell Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 20.4.2010 17:09 v1.0 

我只有Powershell v1.0。 但是当我input

 PS C:\> $Host.version Major Minor Build Revision ----- ----- ----- -------- 2 0 -1 -1 PS C:\> 

这表明我已经安装了v2.0。

我相信这是在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,则该variables不存在,并且不会有输出。

本地化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

话题
     about_Automatic_Variables ...

这是一种方法…

 (Get-Process powershell | select -First 1).Path 

这可能是更好的方法,因为它返回path上的第一个命中,就像如果你从命令提示符运行Powershell一样。

 (Get-Command powershell.exe).Definition 

它始终是C:\ Windows \ System32 \ WindowsPowershell \ v1.0。 这是留给后来compability是我听到或读的地方。