0
我有一個Machine A
腳本,用於檢查端口是否在Machine B
上打開。我想要做的是以某種方式傳遞到Machine B
哪個端口Machine A
將進行測試。我研究過諸如invoke-command和telnet之類的東西,但我很好奇你們認爲這兩種服務器之間的最佳通信方式。相同的網絡,不同的域名。我有兩個箱子在遠程計算機上傳遞數據並執行遠程PowerShell腳本(可能是telnet?)
我有一個Machine A
腳本,用於檢查端口是否在Machine B
上打開。我想要做的是以某種方式傳遞到Machine B
哪個端口Machine A
將進行測試。我研究過諸如invoke-command和telnet之類的東西,但我很好奇你們認爲這兩種服務器之間的最佳通信方式。相同的網絡,不同的域名。我有兩個箱子在遠程計算機上傳遞數據並執行遠程PowerShell腳本(可能是telnet?)
管理員權限如果你只是希望「傳遞」與價值($ testport)一個變量的遠程會話,那麼你就可以完成,像這樣:
invoke-command -session $session -scriptblock {param($testport)
#create variable and assign it a value
set-variable -name:"testport" -value:$testport -force -erroraction silentlycontinue;
}
要一次發送多個變量(例如初始化與父會話的所有全局變量的遠程會話),他們收集到$哈希和使用這樣的:
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;
}
}
從遠程獲得的可變後會話並分配給$結果:
$varname = "testport";
$result = invoke-command -session $session -scriptblock {param($varname)
get-variable -name $varname -valueonly
} -argumentlist $varname