0

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

このスクリプトはInvokeProcessMicrosoft.TeamFoundation.Build.Workflows.Activities

私が抱えている問題は、dothis.ps1からPowershellのバージョンを印刷すると、2.0になっていることです。

ただし、リモートスクリプト(somSecript.ps1)からPowershellのバージョンを印刷すると、1.0になります。

次のコマンドが機能しないため、実行しているPowerShellのバージョンを知りたいと思いました。$Host.Runspace.ThreadOptions

誰かが私に何が起こっているのか説明できますか?ありがとう。

4

1 に答える 1

4

新しいバージョンのPSを使用している場合でも(PS v1はセッションをサポートしていないため)、読み取っているバージョン値は明らかにレジストリから取得されます。この他のStackOverflowの記事を読んだことで、私は、あなたが求め$psversiontableているものを正確に理解できるはずだと指摘しました。

于 2012-10-10T15:10:05.210 に答える