2017-08-16 92 views
-2

我有一個.csv工作表兩列(將來可能會增加更多)。列A是PC主機名和B列的名單是列A/B文本名稱(手動添加/更新)請參見下面所示例的列表:PowerShell導入 - CSV的Ping腳本

 
A B 
PC1 John 
PC2 Luke 
PC3 Alfred 
PC4 Dion 

我希望做的是有一個PS腳本其導入.csv並將列分隔爲例如$ColumnA$ColumnB。我可以在$ColumnA中ping每個值並在同一行中添加$ColumnB作爲文本,這樣您就可以知道誰是PC。手動擁有ColumnB的原因是我們不會手動更新此字段而不是查詢WMI等。

此外,最終一旦我有這個工作,我想添加更多並添加ColumnC與PC位置。另外,我希望在腳本基礎上進行構建,並在不久的將來通過$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] 

} 

小心你的分隔,這隻能是一個字符長度。

希望這會有所幫助。 :)