我有一个运行Powershell v2的Win2003。如果我跑
Invoke-Command -ScriptBlock {$Host.Version}
然后我得到“2.0版”。但是,如果我跑
Invoke-Command -ScriptBlock {$Host.Version} -ComputerName localhost
然后我得到“版本1.0”
我认为这与远程PowerShell有关,但我一直无法找到设置。有人可以帮忙吗?
NB。
WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin\Microsoft.PowerShell\InitializationParameters
ParamName ParamValue
--------- ----------
PSVersion 2.0
答案 0 :(得分:1)
Remoting主机最初是在v2中引入的,因此远程主机的版本为1(ServerRemoteHost)。当您在没有Invoke-Command
的情况下运行-ComputerName
时,您将直接在powershell.exe中运行命令。尝试在两个命令中检查(并比较)$ Host.Name,您应该看到差异。
最好使用$PSVersionTable
检查PowerShell版本 - 在v1中它不存在,在任何较新版本中它都会告诉您当前正在运行的 PowerShell 版本。