私は現在、ネットワーク上のすべてのデバイス(3k +)を含む読みやすいドキュメントを作成しようとしています。現在、私はそうのようなネストされたハッシュテーブル内のすべての私のデータを持っている:PowerShellでネストされたハッシュテーブルエクスポート?
$devices = @{"hostname" = @{"Mac Address" = @{"IP Address" = "True or False"}}}
それは$devices
に、デバイスのホスト名を格納します。 $hostname
には、そのホスト名に関連付けられたすべてのMACアドレスを含むハッシュテーブルがあります。 MACアドレスには、そのMACアドレスに関連付けられたすべてのIPを含むハッシュテーブルがあります。
ハッシュテーブルを作成してデータを保存するスクリプトの一部をすでに作成しました。私はCSVにデータをエクスポートして道路ブロックに入り込みました.CSV形式でExcelで読むことができます。
Hostname, Mac Address, IP Address server1, MM.MM.MM.SS.SS.SS , 1.1.1.1 1.1.1.2 MM.MM.MN.SS.SS.SA , 1.1.1.3 server2, MM.MM.MB.SS.SS.ST , 1.2.3.1 , 1.5.2.1
などとなる。
編集:あなたはあなたの例のように、正確に出力したい場合は
foreach ($hostname in $devices.Keys) {
foreach ($MAC in $devices.$hostname.Keys) {
foreach ($IP in $devices.$hostname.$Macs.Keys) {
[PSCustomObject]@{
'Hostname' = $hostname
'MAC Address' = $MAC
'IP Address' = $IP
}
}
}
}
$csv | Export-Csv 'C:\path\to\output.csv' -NoType
:
foreach ($hostname in $devices.Keys) {
echo $hostname
foreach ($Macs in $devices.$hostname.Keys) {
echo $Macs
foreach ($IPs in $devices.$hostname.$Macs.Keys) {
echo $IPs
}
}
}
コードを表示する: –
現在のコードを投稿に追加しましたが、現在はハッシュテーブルの内容をエコーしています。 – Kuks35