0
出力ファイルで、共有ファイルでフォーマットしたいのですが、拡張子、現在のIP、および以下のような修正IPと共に間違っています。 「Share File 1」、「Extension」、「Server IP」、「Correct IP」は、現在のIPがShare FileおよびCorrect IPから一致するファイルである場合、Exportファイルにリストされます。foreachループ内のどのリストを調べるか
サンプルデータ以下。
マイ輸出:
"1000","1608","IP_Phone","1.330D","192.168.1.20","6","","192.1.1.10" "1005","1608","IP_Phone","1.330D","192.168.1.70","6","","192.1.1.11" "1010","1608","IP_Phone","1.330D","192.168.1.100","6","","192.1.1.10" "1080","1608","IP_Phone","1.330D","192.168.1.51","6","","192.1.1.13"
シェア1つのファイル:
1000, 192.168.1.2, TRUE ;Test1 1011, 192.168.1.5, TRUE ;Test2 1005, 192.168.1.100, TRUE ;Test3 1079, 192.168.1.50, TRUE ;Test4
シェア2ファイル:
1010, 192.168.1.100, TRUE ;Test5 1020, 192.168.1.5, TRUE ;Test6 1005, 192.168.1.70, TRUE ;Test7 1080, 192.168.1.52, TRUE ;Test8
所望の出力ファイル:
Share File, Extension, Server IP, Correct IP Share File 1, 1000, 192.168.1.2, 192.168.1.20 Share File 1, 1005, 192.168.1.100, 192.168.1.70 Share File 2, 1080, 192.168.1.52, 192.168.1.51あなたが期待ように私が得る
Clear-Host
$ASAExport = (Import-Csv "C:\app\test\ASAExportNoHeaders.txt" -Header "Extension","2","3","4","Correct IP","6","7","8")
$1 = (Import-Csv "C:\app\test\StationsTest1.txt" -Header "Extension","Server IP","Comment")
$2 = (Import-Csv "C:\app\test\StationsTest2.txt" -Header "Extension","Server IP","Comment")
#$Output = "C:\app\test\Output.txt"
#if (Test-Path($Output)) {Remove-Item $Output}
$ServerList = $1,$2
foreach ($Server in $ServerList) {
foreach ($ASARow in $ASAExport) {
foreach ($ServerRow in $Server) {
if ($ASARow."Extension" -in $ServerRow."Extension") {
if ($ASARow."Correct IP" -ne $ServerRow."Server IP") {
New-Object PSCustomObject -Property @{
"Extension" = $ASARow."Extension"
"Correct IP" = $ASARow."Correct IP"
"Server IP" = $ServerRow."Server IP"
} | Select-Object "Extension","Server IP","Correct IP"
}
}
}
}
}
結果は以下のとおりです。私はこれまで持っているもの
。 Ext、Server IP、および正しいIPを取得します。見つかったサーバーを追加してSelect-Object
に追加する必要があります。何かご意見は?
完璧なトリックでしたが、列がすべて順不同です。注文を指定できますか?共有ファイル、拡張子、サーバーIP、偶然にIPを修正しますか?私はそれをそのように書いたが、出力がどうなっているのかは分からない。 –
列の順序を定義するために最後に選択したオブジェクトがどこに来るかは気にしないでください。もう一度ありがとう、これは素晴らしいです。 –
順序付けされたハッシュテーブルを作成することによって、プロパティの順序を事前に定義することができます。それには2つのステップが必要です。 '$ props = [ordered] @ {...};新しいオブジェクト - タイプPSCustomObject - プロパティ$ props' –