上記のコメントに従って、Format-Table
の出力をテキストファイルに入れました。 Format-Table
は視覚的にはになることがありますこれを行うことで、データを扱うことが難しくなりました。
Get-WMIObject
コマンドレットの結果からいくつかのプロパティを使用する場合は、Select-Object
を使用します(ここでの使用では、目的のプロパティのデータを効果的にフィルタリングします)。
Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName SERVERNAMEHERE |
Select-Object PSComputerName, IPAddress, Description, DNSDomain |
Export-Csv 'C:\temp\server.csv'
注我々はPScomputerNameを含めることができました。代わりに、単純なファイルにテキストを書き込むことの
、あなたは、構造化されたファイル(つまり、CSV)に書き込むことで、データを表形式的な性質を保持することができますプロパティを使用して、必要なデータを追加することができます。
生データを取得するのはそれほどです。あなたはすべてのCSVデータを読み込むと、再びそれを書くことができる一つの方法は、次のようになります。
私たちは延々と同じファイルに/読み取りと書き込みのフォームを避けるために、最初のコマンドレットでは、出力ファイルを除外
Get-ChildItem *.csv -Exclude all.csv |
Foreach-Object {Import-Csv $_} |
Export-Csv all.csv
注意。
データを再度収集する贅沢がない場合は、ファイルを一緒にスプールする必要があります。ファイルを一緒にスプーリングは、このように、Get-Content
で何かをやっている:
$files = Get-ChildItem *.txt
foreach($file in $files) {
$lines = Get-Content $file
foreach($line in $lines) {
"$line $($file.Name)" | Out-File all.txt -Append
}
}
:
あなたのケースでは
Get-ChildItem *.txt -Exclude all.txt |
Foreach-Object {Get-Content $_ -Raw} |
Out-File all.txt
、あなたがファイルにライン・バイ・ラインを処理する必要があるとして、トリッカー各行を、サフィックスたかったです
Format-Table/Out-Stringでデータを変更していない場合は、それらのファイルを生成したスクリプトでサーバー名のプロパティを追加できます。 (そしてそれらをすべて1つのCSVに入れます)。可能な場合は、そのスクリプトを編集して、適切なデータを出力できるようにするか、データを簡単に処理できるように編集してください。 – TessellatingHeckler
これは表示される出力ファイルを生成するpowershellです。 Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled = TRUE -ComputerName SERVERNAMEHERE | Format-Table -Property IPAddress、説明、DNSDomain | Out-File c:\ temp \ server.txt – user3290171
ファイル名の列を追加する必要はありません。 'all.txt'の全内容はワイルドカードパターン' * .txt'で列挙された最後のファイルから来ます。なぜなら、 'copy * .txt all.txt'はあなたが思うように動作しないからです。 –