2011-04-26 55 views
11

我有一個csv,看起來像使用CSV作爲輸入運行PowerShell命令

名稱,電子郵件,地址
名稱,電子郵件,地址
名稱,電子郵件,地址

我想要運行 New-Mailbox -Name "*Name*" -WindowsLiveID *email* -ImportLiveId

(其中*x*被csv中的值所取代)。

在csv文件的每一行上。

我該怎麼做?

回答

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

CSV的第一行是像姓名,電子郵件,地址

如果你不能在CSV的標題,你也可以有:

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

-Header沒有按以任何方式修改csv文件。

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

確實-header添加頁眉反映柱? – Hailwood 2011-04-26 02:15:11

+0

@Hailwood - 不,它不 – manojlds 2011-04-26 02:18:44

+1

是的,看到這個: http://technet.microsoft.com/en-us/library/dd347665.aspx – LanceHub 2011-04-26 02:19:31

-5

這是我見過的一些最有用的信息 - 它只是讓我的工作變得如此簡單!

結合NetApp的命令:

從控制器獲得的體積,得到的快照時間表所述空間,並導出爲CSV:

得到-navol | Get-NaSnapshotSchedule | Export-Csv -path d:\ something.csv

將csv讀入導入當前值併爲每列指定一個標籤。

對於每個對象,通過創建一個新的時間表重複使用5分可用列/數據字段的4

進口-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」}

優秀東西!

請注意,「標籤」應該有一個底線 - (。)不管是什麼原因,它是不是在頁面以美元($)下劃線(_)點標籤