使用 Powershell 從 .CSV 文件創建 Exchange 聯繫人
我想做的是使用 Powershell 腳本從 .csv 文件在 Active Directory 中的某個文件夾中創建聯繫人。該腳本應允許我根據在 .csv 文件中輸入的資訊創建電子郵件地址的第一部分。
我們仍在 Windows Server 2003 上執行我們的交換伺服器,並且我的電腦上有 Powershell 3.0。
這是一個接近我想要但不完全是的腳本。
$csv = Import-Csv �C:\Contacts.csv� foreach($line in $csv) { New-MailContact -Name $line.DisplayName -ExternalEmailAddress $line.EmailAddress -OrganizationalUnit �Contacts� -Alias $line.Alias }
我對 Powershell 不是很有經驗,如果有人可以幫助我解決這個問題,我將不勝感激。
編輯:
根據要求,這是我的 .csv 加標題中的一行範例
姓名、郵箱
卡車 327,9426645555
編輯:grr …我忘記了 Exchange 2003 …以下僅適用於 Exchange 2007 及更高版本。
對於 Exchange 2003,您需要使用 csvde:http: //support.microsoft.com/kb/327620
可以在此處找到如何格式化 csv 文件和 csvde 命令的範例:http ://forums.msexchange.org/m_1800509533/printable.htm
引用:
objectClass,DN,displayName,proxyAddresses,targetAddress,mail,mailNickname,givenName,sn,showInAddressBook
objectClass = 您正在創建的對象的類(在您的情況下為“聯繫人”) DN = 對象的可分辨名稱 displayName = 對象的顯示名稱 proxyAddresses = 類型:聯繫人對象的代理地址(例如 SMTP:user@domain .com) targetAddress = 類型:聯繫人對象的目標地址(例如 SMTP:user@domain.com) mail = 郵件(您可以在聯繫人對象的一般選項卡中看到) mailNickname = 聯繫人對象的別名 givenName = First Name sn = Last Name showInAddressBook = 用於在 GAL 中啟用聯繫人(即使我們沒有指定此值,聯繫人也會顯示在預設 GAL 中)
如果您願意,我會向您發送一個範例 CSV 文件。
您可能需要學習 Excel 提示和技巧才能從輸入詳細資訊創建 CSV 文件。
創建 CSV 文件後,您可以使用以下命令導入聯繫人對象。
CSVDE -i -f 例如:CSVDE -i -fc:\test.csv
-i = 用於指定導入模式
-f = 用於指定輸入文件
另一種選擇是第三方實用程序,如 AD Bulk Contacts: http: //www.dovestones.com/active-directory-contact-import/
好的,這就是我要做的(如果這是 Exchange 2007+ 哈哈)
csv文件的設置
首先,在 Excel 中打開您的 CSV 文件。您需要使您的 CSV 文件更好地輸入到 PS“腳本”中。
- 更改
Name
為DisplayName
- 複製此
DisplayName Column to a new column called
TempName`- 更改
prefix
- 創建一個名為的新列
FirstName
- 創建一個名為的新列
LastName
- 創建一個名為的新列
獲取
FirstName
並LastName
填充列:
- 突出顯示所有數據,然後
TempName
選擇並根據空格拆分名字和姓氏Data``Text to Columns
- 現在將名字和姓氏複製到您在#4-5 中創建的各自的新列中。
填充
- 在電子郵件列中,轉到與第一行數據相鄰的空單元格。即,在同一行左側某處
9426645555
的列中應該有,例如,數據在 B3 中。prefix
在這裡,您將創建一個公式以將電子郵件前綴與域連接起來。然後=CONCATENATE(A2,"@domain.com")
將其複制並粘貼到列中以使所有電子郵件地址正確無誤。現在,您應該擁有具有
DisplayName
,FirstName
,LastName
, 並且立即將文件另存為 CSV 文件,然後驗證 CSV 文件看起來是否適合輸入
關於 Powershell 腳本:
$csv = Import-Csv C:\Contacts.csv foreach($line in $csv) { New-MailContact -Name $line.DisplayName -FirstName $line.FirstName -LastName $line.LastName -ExternalEmailAddress $line.Email -OrganizationalUnit Contacts -Alias $line.Alias }
那至少應該為您指明到達那裡的方向。如果你卡住了,請告訴我。