Запустить команду powershell с использованием csv в качестве входного
У меня есть csv, который выглядит как
Имя, адрес электронной почты, адрес
Имя, адрес электронной почты, адрес
Имя, адрес электронной почты, адрес
Я хочу запустить
New-Mailbox -Name "*Name*" -WindowsLiveID *email* -ImportLiveId
(где *x*
заменяется значением из csv).
в каждой строке файла csv.
Как я могу это сделать?
Ответы
Ответ 1
$csv = Import-Csv c:\path\to\your.csv
foreach ($line in $csv) {
New-Mailbox -Name $line.Name -WindowsLiveID $line.Email -ImportLiveId
}
Первая строка csv должна быть чем-то вроде Name, Email, Address
Если у вас нет заголовка в CSV, вы также можете:
$csv = Import-Csv c:\path\to\your.csv -Header @("Name","Email","Address")
-Header никак не изменяет файл csv.
Ответ 2
import-csv .\file.csv -header ("first","second","third") | foreach{New-Mailbox -Name $_.first -WindowsLiveID $_.second -ImportLiveId}
Ответ 3
Это часть самой полезной информации, которую я видел еще - она просто упростила мою работу.
Объединение команд Netapp:
получить тома с контроллера, получить расписание моментальных копий для указанных томов и экспортировать в csv:
get-navol | Get-NaSnapshotSchedule | Экспорт-Csv -path d:\something.csv
Импортировать чтение csv в текущие значения и присвоить каждому столбцу метку.
Для каждого объекта создайте новое расписание посредством RE-USING 4 из 5 доступных столбцов/полей данных
import-csv d:\something.csv -header ( "label1", "label2", "label3", "label4", "label5" ) | foreach {Set-naSnapshotschedule $.label1 -Weeks $.label2 -Days $.label3 -Hours $.label4 -Whichhours "1,2,3,4,5" }
ОТЛИЧНАЯ СТУДИЯ!!!
Обратите внимание, что "Ярлыки" должны иметь знак подчеркивания - по какой-либо причине он не отражается на странице, так что доллар ($) Подчеркивание (_) Точка (.) Ярлык