我在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此脚本由Microsoft.TeamFoundation.Build.Workflows.Activities的InvokeProcess执行
我遇到的问题是,如果我从dothis.ps1打印出Powershell版本,我会得到2.0版本。
但是,如果我从远程脚本(somSecript.ps1)打印出Powershell的版本,它会显示1.0。
我想知道我正在运行的powershell的版本,因为以下命令不起作用:$Host.Runspace.ThreadOptions
谁能给我解释一下这是怎么回事?谢谢。
发布于 2012-10-10 23:10:05
您正在读取的版本值显然来自注册表,即使您使用的是较新版本的PS (因为PS v1不支持会话)。阅读this other StackOverflow article给我指出了$psversiontable,它应该会让你得到你想要的东西。
https://stackoverflow.com/questions/10102011
复制相似问题