スクリプトからリモート セッションを実行する場合と、正確なコマンド シーケンスを手動で入力する場合では、異なる結果が得られます。これは、私が取り組んでいるかなり複雑なスクリプトで発生していますが、問題を示すために小さなスクリプトを作成しました。返される数字は 7-5-5 ではなく 7-5-7 であるべきではありませんか?
問題のスクリプト
$oldMachineName = "ppal12084229"
$remoteSession = New-PSSession $oldMachineName
$xyz =7
"outside remote session"
$xyz
""
enter-PSSession $remoteSession
$xyz = 5
"inside remote session"
$xyz
""
exit-pssession
"outside remote session"
$xyz
""
remove-pssession $remoteSession
スクリプトを実行すると、次の出力が得られます。
outside remote session
7
inside remote session
5
outside remote session
5
しかし、コマンドを手動で入力すると、次のようになります。
PS H:\> $oldMachineName = "ppal12084229"
PS H:\> $remoteSession = New-PSSession $oldMachineName
PS H:\> $xyz =7
PS H:\> $xyz
7
PS H:\> enter-PSSession $remoteSession
[ppal12084229]: PS C:\WINDOWS\system32> $xyz = 5
[ppal12084229]: PS C:\WINDOWS\system32> $xyz
5
[ppal12084229]: PS C:\WINDOWS\system32> exit-pssession
PS H:\> $xyz
7
PS H:\> remove-pssession $remoteSession
異なる結果が得られるのはなぜですか?