2016-10-17 5 views
1

Извините, я новичок в PowerShell и для этого базового.прочитайте две разные строки одной строки из CSV

У меня есть файл CSV с этим содержимым и еще несколькими строками и вы хотите прочитать каждую строку из двух переменных (Name, User) и запустить командлет, как показано ниже.

~# 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 

Как я должен изменить этот сценарий, чтобы прочитать каждую строку и использовать оба значения (Name, User) в этой строке выполнить командлет Connect-сервера по одному время?

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

Спасибо Эсперанто. Это похоже на работу, как ожидалось, и то, что мне нужно. Я могу больше команд в инструкции foreach перед подключением к следующему компьютеру. – user3721640

1

Попробуйте это:

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

Спасибо стрелком. Кажется, это сразу запустит сервер подключений. Я хотел бы иметь Connect-server на mycomputer1 вместе с первым пользователем John, а затем распечатать что-то между ними, а затем подключиться к mycomputer2. Я думаю, что это выполнило бы «connect-server» ко всем экземплярам за раз, – user3721640

+0

Был ушел на встречу, поэтому не смог ответить вам вовремя. –

Смежные вопросы