web-dev-qa-db-fra.com

exécuter la commande powershell en utilisant csv en entrée

J'ai un csv qui ressemble

Nom, email, adresse
Nom, e-mail, adresse
Nom, e-mail, adresse

Je veux exécuter New-Mailbox -Name "*Name*" -WindowsLiveID *email* -ImportLiveId

(où *x* est remplacé par la valeur du csv).

sur chaque ligne du fichier csv.

Comment puis-je faire ceci?

13
Hailwood
$csv = Import-Csv c:\path\to\your.csv
foreach ($line in $csv) {
    New-Mailbox -Name $line.Name -WindowsLiveID $line.Email -ImportLiveId
}

La première ligne de csv doit être quelque chose comme nom, e-mail, adresse

Si vous ne pouvez pas avoir l'en-tête dans le CSV, vous pouvez également avoir:

$csv = Import-Csv c:\path\to\your.csv -Header @("Name","Email","Address")

-Header ne modifie en aucune façon le fichier csv.

24
manojlds
import-csv .\file.csv  -header ("first","second","third") | foreach{New-Mailbox -Name $_.first -WindowsLiveID $_.second -ImportLiveId}
3
LanceHub