2016-10-17 98 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

因为没有及时回复您的会议而离开。 –

相关问题