コンテキスト: このスクリプト/関数はローカル マシンに存在します。関数に変数を渡し、リモート マシンで実行されるように呼び出しコマンド スクリプト ブロックに渡します。
このコードは機能しますが、パラメーターを複数回渡す必要があり、すべてが少しぎこちなく感じられるため、良い習慣や最善の方法とは思えません。
$params
結果を達成するには、ここで 4 回提供する必要がありますか?
function Create-NewVM
{
param($param1, $param2, $param3, $param4)
$ScriptBlock =
{
param ($param1, $param2, $param3, $param4)
# do a bunch of stuff on my remote machine
}
$s = New-PSSession hypervhost.fqdn
Invoke-Command -Session $s -ScriptBlock $ScriptBlock -ArgumentList $param1, $param2, $param3, $param4
}
Create-NewVM -ComputerName "vm01" $param1 $param2 $param3 $param4