2017-08-16 11 views
-2

2つの列を持つ.csvシートがあります(今後追加される可能性があります)。列Aは、PCのホスト名と列Bのリストは、カラムA/Bのテキスト名のリスト(手動で更新/追加)されているが、以下のexampled参照:PowerShell Import-CSV Pingスクリプト

 
A B 
PC1 John 
PC2 Luke 
PC3 Alfred 
PC4 Dion 

私は何をしたいのはPSスクリプトを持っています.csvをインポートし、列を例えば$ColumnA$ColumnBに分割します。 $ColumnAに各値をpingして、同じ行にテキストとして$ColumnBを追加して、誰が自分のPCであるかを知ることができます。 ColumnBを手作業で使用している理由は、WMIなどのクエリではなく、このフィールドを手動で更新するのではなく、手動でフィールドを更新しないということです。また、私は基本的な作業(と私はそれを理解している)したら近い将来に$ColumnAでスクリプトとクエリを詳細に構築したいと思います。

+4

あなたの質問はここにありますか?あなたのコードはどのように見えますか?期待どおりに動作しないのは何ですか?開始するには[こちらを読む](https://blogs.technet.microsoft.com/heyscriptingguy/2011/09/23/use-powershell-to-work-with-csv-formatted-text/)。 –

答えて

0

PowerShellのすべてがオブジェクトなので、csvファイルをインポートすると、CSVヘッダーが継承されます。あなたの例では

$CSVvar = import-csv C:\yourCSVFile.csv -delimiter ' ' 

書き込みホスト$ CSVvar.A:

PC1 
PC2 
PC3 
PC4 

書き込みホストの$ CSVvar.B:

John 
Luke 
Alfred 
Dion 

書き込みホストの$ CSVvar .B [1]:

Luke 

だから、あなたが列Bの各ラインの接続をテストする場合:

for($i=0; $i -lt $CSVvar.length; $i++){ 

test-connection $CSVvar.B[$i] 

} 

があなたの区切り文字に注意して、それが唯一の1文字の長さとすることができます。

これが役に立ちます。 :)

関連する問題