使用 PowerShell 将联系人批量导入到 Microsoft 365
我们喜欢添加新联系人,在 Microsoft 365 中也称为外部联系人。这些联系人是供应商、客户和业务合作伙伴。使用 PowerShell 脚本将简化从 CSV 文件导入数据的过程。在本文中,您将了解如何使用 PowerShell 将联系人批量导入到 Microsoft 365。
在 Microsoft 365 中创建邮件联系人所需的属性
要使用 PowerShell 在 Microsoft 365 中创建邮件联系人,您需要最少的必需属性:
- -显示名称
- -别名
- -外部电子邮件地址
注意:您可以看到带有星号的必填字段,如下面的屏幕截图所示。
连接到 Exchange Online PowerShell
为了能够运行 PowerShell 命令,您必须连接到 Exchange Online PowerShell。以管理员身份打开 Windows PowerShell,运行以下 cmdlet,然后使用管理员凭据登录。
Connect-ExchangeOnline将联系人导入到 Microsoft 365 PowerShell 脚本
您将使用两个脚本来添加和更新 Microsoft 365 联系人。
Add-M365Contacts.ps1 PowerShell 脚本将遍历 CSV 文件并在 Microsoft 365 租户中创建联系人及其信息:
- 姓名
- 名
- 姓
- 显示名称
- 别名
- 外部电子邮件地址
Update-M365Contacts.ps1 PowerShell 脚本将遍历 CSV 文件并使用附加信息更新租户中的 Microsoft 365 联系人:
- 街道地址
- 州或省
- 城市
- 邮政编码
- 电话
- 手机
- 家庭电话
- 公司
- 部门
- 国家或地区
- 传真
- 缩写
- 标题
- 笔记
- 办公室
- 经理
- 隐藏(HiddenFromAddressListsEnabled)
注意:假设您在 Microsoft 365 中已有联系人,并且想要使用新值更新它们,则只需使用 Update-M365Contacts.ps1 PowerShell 脚本。
如何使用 PowerShell 将联系人导入到 Microsoft 365
让我们完成在 Microsoft 365 中从 CSV 文件创建批量联系人的步骤。
第 1 步:下载 CSV 模板
如果没有 CSV 文件,您将无法使用脚本在 Exchange Online - Microsoft 365 中添加和更新联系人。
下载 CSV 文件 M365Contacts.csv 并将其放置在 C:\Temp 文件夹中。如果您没有 Temp 文件夹,请创建一个。
打开 CSV 文件并填写您要导入的联系方式。
步骤 2:检查 CSV 文件是否导入
在运行脚本之前,请务必验证您的 CSV 文件是否可读。一个很好的方法是以管理员身份启动 PowerShell 并运行 Import-Csv cmdlet。
Import-Csv "C:\Temp\M365Contacts.csv" | Format-Table输出显示为列。
FirstName LastName DisplayName Alias ExternalEmailAddress StreetAddress StateorProvince City PostalCode WorkPhone
--------- -------- ----------- ----- -------------------- ------------- --------------- ---- ---------- ---------
Darren Parker Darren Parker Darren.Parker darren.p@fabrikam.com 1234 23rd Ave Florida Bartow 33830
Allie Bellew Allie Bellew Allie.Bellew allieb@tailspintoys.com 4321 27th Ave NW Utah Manti 84642 555-5543
Cindy White Cindy White Cindy.White cindyw@gmail.com 4321 Main St. Colorado Denver 80014 555-5555
Chris Norred Chris Norred Chris.Norred chrisn@fabrikam.com PO Box 1234 Colorado Greeley 80543 555-5525您可以使用 Out-GridView cmdlet 将所有内容显示在单独的窗口中。
Import-Csv "C:\Temp\M365Contacts.csv" | Out-GridView这就是它的样子。
现在包含所有联系人的 CSV 文件已正确设置,让我们看看下一步。
步骤 3:运行 Add-M365Contacts PowerShell 脚本
下载 Add-M365Contacts.ps1 PowerShell 脚本并将其放置在 C:\scripts 文件夹中。如果您没有脚本文件夹,请创建一个。
确保文件未被阻止,以防止运行脚本时出现错误。请阅读文章运行 PowerShell 脚本时出现未数字签名错误来了解更多信息。
$csvFilePath = "C:\temp\M365Contacts.csv"
try {
$Contacts = Import-Csv $csvFilePath
foreach ($Contact in $Contacts) {
try {
if ((Get-MailContact -Filter "DisplayName -eq '$($Contact.DisplayName)' -or ExternalEmailAddress -eq '$($Contact.ExternalEmailAddress)'" -ErrorAction SilentlyContinue) -ne $null) {
Write-Host "Contact $($Contact.ExternalEmailAddress) already exists" -ForegroundColor Yellow
}
else {
$null = New-MailContact `
-Name $Contact.DisplayName `
-FirstName $Contact.FirstName `
-LastName $Contact.LastName `
-DisplayName $Contact.DisplayName `
-Alias $Contact.Alias `
-ExternalEmailAddress $Contact.ExternalEmailAddress `
#-WhatIf
Write-Host "Contact $($Contact.ExternalEmailAddress) added successfully" -ForegroundColor Green
}
}
catch {
Write-Host "Failed to add contact $($Contact.ExternalEmailAddress). Error: $_" -ForegroundColor Red
}
}
}
catch {
Write-Host "Failed to import CSV file. Error: $_" -ForegroundColor Red
}运行脚本以在 Microsoft 365 中创建联系人。
C:\Scripts\.\Add-M365Contacts.ps1输出将显示使用消息创建联系人是否成功。
Contact darren.p@fabrikam.com added successfully
Contact allieb@tailspintoys.com added successfully
Contact cindyw@gmail.com added successfully
Contact chrisn@fabrikam.com already exists步骤 4:运行 Update-M365Contacts PowerShell 脚本
下载 Update-M365Contacts.ps1 PowerShell 脚本并将其放置在 C:\scripts 文件夹中。如果您没有脚本文件夹,请创建一个。
确保文件未被阻止,以防止运行脚本时出现错误。请阅读文章运行 PowerShell 脚本时出现未数字签名错误来了解更多信息。
$csvFilePath = "C:\temp\M365Contacts.csv"
try {
$Contacts = Import-Csv $csvFilePath
foreach ($Contact in $Contacts) {
try {
$existingContact = Get-MailContact -Filter "DisplayName -eq '$($Contact.DisplayName)' -or ExternalEmailAddress -eq '$($Contact.ExternalEmailAddress)'" -ErrorAction SilentlyContinue
if ($existingContact.Count -eq 0) {
Write-Host "Contact $($Contact.ExternalEmailAddress) does not exists" -ForegroundColor Red
}
else {
# Set contact information
Set-Contact `
-Identity $Contact.DisplayName `
-StreetAddress $Contact.StreetAddress `
-StateOrProvince $Contact.StateorProvince `
-City $Contact.City `
-PostalCode $Contact.PostalCode `
-Phone $Contact.WorkPhone `
-MobilePhone $Contact.MobilePhone `
-HomePhone $Contact.HomePhone `
-Company $Contact.Company `
-Department $Contact.Department `
-CountryOrRegion $Contact.CountryOrRegion `
-Fax $Contact.Fax `
-Initials $Contact.Initials `
-Title $Contact.Title `
-Notes $Contact.Notes `
-Office $Contact.Office `
-Manager $Contact.Manager `
-ErrorAction SilentlyContinue
$HiddenFromAddressListsEnabled = [System.Convert]::ToBoolean($Contact.Hidden)
if ($HiddenFromAddressListsEnabled -ne (Get-MailContact -Identity $Contact.DisplayName).HiddenFromAddressListsEnabled) {
Set-MailContact `
-Identity $Contact.DisplayName `
-HiddenFromAddressListsEnabled $HiddenFromAddressListsEnabled
}
Write-Host "Contact $($Contact.ExternalEmailAddress) updated successfully" -ForegroundColor Green
}
}
catch {
Write-Host "Failed to update contact $($Contact.ExternalEmailAddress). Error: $_" -ForegroundColor Red
}
}
}
catch {
Write-Host "Failed to import CSV file. Error: $_" -ForegroundColor Red
}运行以下脚本将所有联系人信息导入到 Microsoft 365 中的联系人中。
C:\Scripts\.\Update-M365Contacts.ps1输出将显示通过消息更新联系人是否成功或失败。
Contact darren.p@fabrikam.com updated successfully
Contact allieb@tailspintoys.com updated successfully
Contact cindyw@gmail.com updated successfully
Contact chrisn@fabrikam.com updated successfully步骤 5:验证 Microsoft 365 中的联系人
检查外部联系人是否出现在 Exchange Online 中非常重要。有两种方法可以做到这一点:使用 PowerShell 和在 Exchange 管理中心。
运行 Get-MailContact cmdlet 以查找租户中的新联系人。
Get-MailContact出现输出。
Name Alias RecipientType
---- ----- -------------
Allie Bellew Allie.Bellew MailContact
Chris Norred Chris.Norred MailContact
Cindy White Cindy.White MailContact
Darren Parker Darren.Parker MailContact另一种方法是登录 Microsoft 365 管理中心并验证新创建的联系人。
- 点击用户 > 联系人
或者登录 Exchange 管理中心以获取更多联系详细信息。
- 点击收件人 > 联系人
就是这样!
这是否有助于您使用 PowerShell 从 CSV 文件在 Microsoft 365 中创建外部联系人?
了解更多:如何将 Google 联系人导入 Outlook »
结论
您了解了如何使用 PowerShell 将联系人导入到 Microsoft 365。首先,准备 CSV 文件并确保填写所有信息。接下来,您需要脚本 Add-M365Contacts.ps1 来创建新的外部联系人,并需要 Update-M365Contacts 来更新 Exchange Online 中的新联系人。更新脚本也适用于更新现有联系人。最后一部分是检查联系人是否已成功创建。
您喜欢这篇文章吗?您可能还喜欢配置基于证书的身份验证来运行自动化 PowerShell 脚本。不要忘记关注我们并分享这篇文章。





