Machine A
でポートが開いているかどうかを確認するスクリプトがありますMachine B
。私がやろうとしているのは、テストMachine B
するポートに何らかの形で渡すことです。Machine A
私は、invoke-command や telnet などを調べましたが、これら 2 つのサーバー間で通信するための最良の方法は何だと思いますか? 同じネットワーク、異なるドメイン。両方のボックスで管理者アクセス権を持っています
1473 次
1 に答える
2
値 ($testport) を持つ変数をリモート セッションに「渡す」だけの場合は、次のように実行できます。
invoke-command -session $session -scriptblock {param($testport)
#create variable and assign it a value
set-variable -name:"testport" -value:$testport -force -erroraction silentlycontinue;
}
多くの変数を一度に送信するには (たとえば、親セッションからのすべてのグローバル変数でリモート セッションを初期化する場合)、それらを $hash にまとめて、次のように使用します。
invoke-command -session $session -scriptblock {param($hash, $setAsGlobal)
#create global variable and assign value for each hash table entry
if ($setAsGlobal -eq $true) {
foreach ($key in $hash.keys) {
set-variable -name:$key -value:$hash.$key -scope:'global' -force -erroraction silentlycontinue;
}
} else {
foreach ($key in $hash.keys) {
set-variable -name:$key -value:$hash.$key -force -erroraction silentlycontinue;
}
}
リモート セッションから変数を取得して $result に代入するには:
$varname = "testport";
$result = invoke-command -session $session -scriptblock {param($varname)
get-variable -name $varname -valueonly
} -argumentlist $varname
于 2012-10-30T16:46:00.360 に答える