1

我有一个运行 Powershell v2 的 Win2003。如果我跑

Invoke-Command -ScriptBlock {$Host.Version}

然后我得到“2.0版”。但是,如果我运行

Invoke-Command -ScriptBlock {$Host.Version} -ComputerName localhost

然后我得到“1.0版”

我认为这与远程 powershell 有关,但我一直找不到设置。任何人都可以帮忙吗?

注意。

WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin\Microsoft.PowerShell\InitializationParameters

ParamName            ParamValue
---------            ----------
PSVersion            2.0
4

1 回答 1

1

远程主机最早是在v2中引入的,所以远程主机的版本是1(ServerRemoteHost)。当你Invoke-Command没有-ComputerName运行时,你直接在 powershell.exe 中运行命令。尝试检查(并比较)两个命令中的 $Host.Name ,您应该会看到差异。

最好检查 PowerShell 版本$PSVersionTable- 在 v1 中它不存在,在任何较新的版本中,它都会告诉您当前正在运行的PowerShell版本。

于 2013-03-08T13:12:19.697 回答