PowerShell远程处理与主机版本

时间:2012-04-11 07:56:40

标签: powershell-remoting

我使用Powershell进行远程处理有一个奇怪的问题。

我有一个名为dothis.ps1的脚本,它执行以下操作:

$s = New-PSSession -ComputerName $someServer -Authentication CredSSP -Credential $credential              
$result = Invoke-Command -Session $s { param($dropLocation) C:\somScript.ps1 @PSBoundParameters } -ArgumentList $DropLocation

此脚本由InvokeProcess

Microsoft.TeamFoundation.Build.Workflows.Activities执行

我遇到的问题是,如果我从dothis.ps1打印出Powershell的版本,我就有2.0。

但是如果我从远程脚本(somSecript.ps1)打印出Powershell的版本,它会给我1.0。

我想知道我正在运行的powershell的版本,因为以下命令不起作用:$Host.Runspace.ThreadOptions

有人可以解释一下发生了什么吗?感谢。

1 个答案:

答案 0 :(得分:4)

您正在阅读的版本值显然来自注册表,即使您使用的是较新版本的PS(因为PS v1不支持会话)。阅读this other StackOverflow article向我指出了$psversiontable,这应该可以让您完全了解自己所追求的目标。