2016-10-17 67 views
1

對不起,我是PowerShell中的新手,並且是基本的。從CSV中讀取同一行的兩個不同字符串

我有一個CSV文件,包含這些內容和幾行代碼,並且想要讀取兩個變量(Name,User)的每行並按如下所示運行cmdlet。

~# cat test.scv 

Name, User 
mycomputer1, John 
mycomputer2, Jake 
…. 
…. 
mycomputer100, Susan 

我用Import-CSV導入文件。

$csv = Import-CSV 「X:\test.csv" 

這將導致爲:

Name   User 
———    ——— 
mycomputer1  John 
mycomputer2  Jake 
.. 
.. 
mycomputer100 Susan 

我應該如何修改這個腳本來讀取每一行,並在該行使用兩個值(名稱,自定義)在運行的Connect-服務器cmdlet的一個一次?

Connect-Server –Server mycomputer1 –User John 
Connect-Server –Server mycomputer2 –User Jake 
… 
… 
Connect-Server –Server mycomputer100 –User Susan 

回答

0

解決方案,但你可以這樣做太:

$csv = Import-CSV "C:\temp\test.csv"  
foreach ($row in $csv) 
{ 
    Connect-Server -Server $row.Name -User $row.User 
} 
+0

謝謝Esperento。這似乎按預期工作,我所需要的。在連接到下一臺計算機之前,我可以在foreach語句中使用更多命令。 – user3721640

1

試試這個:的 「的射手」 是更好的

Import-Csv C:\temp\ps\cs.txt | ForEach-Object { Connect-Server -Server $_.Name -User $_.User } 
+0

感謝射手。看起來這樣會一次運行連接服務器..我想在mycomputer1上連接第一個用戶John的Connect-server,然後在兩者之間打印一些內容,然後連接到mycomputer2。我認爲這樣會一次執行「connect-server」到所有實例, – user3721640

+0

因爲沒有及時回覆您的會議而離開。 –

相關問題