Запустить команду 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" }

ОТЛИЧНАЯ СТУДИЯ!!!

Обратите внимание, что "Ярлыки" должны иметь знак подчеркивания - по какой-либо причине он не отражается на странице, так что доллар ($) Подчеркивание (_) Точка (.) Ярлык