プロジェクト

全般

プロフィール

[Windows/PowerShell] PowerShell を使用して複数のリモートコンピューターでコマンドを実行し,その実行結果を得る方法は?

技術ノート
2016/11/02

[番号]
技術ノート KGTN 2016101902

[現象]
[Windows/PowerShell] PowerShell を使用して複数のリモートコンピューターでコマンドを実行し,その実行結果を得る方法は?

[説明]
以下に,各リモートコンピューターからコンピューター名とIPアドレス (文字列) を得るサンプルを示します.

$hostList = @("192.168.102.60","192.168.102.72","192.168.102.110")
Function hostInfo ($ipAddr)
{
$hostName = [Net.Dns]::GetHostName()
$hostAddr = [Net.Dns]::GetHostAddresses('') | Where-Object -FilterScript { ($_.AddressFamily
-Eq "InterNetwork") } | select -ExpandProperty IPAddressToString
return "hostName: {0,-16}, hostAddr: {1,-16}" -f $hostName,$hostAddr
}
$ii = 0
ForEach($target In $hostList)
{
$ret = Invoke-Command $target -ScriptBlock ${function:hostInfo} -ArgumentList $target
++$ii
"[{0}] {1}" -f $ii,$ret
}

ファイル

KGTN2016101902.pdf (65.3 KB) kitasp 技術センター, 2016/11/02 15:25

KGTN2016101902.jpg 表示 (11.1 KB) kitasp 技術センター, 2016/11/02 15:25