使用 CSV_Parser.ps1 脚本创建和配置收件人
适用于: Live@edu
上一次修改主题: 2011-11-23
下载和使用 CSV_Parser.ps1
Windows PowerShell 脚本来添加新用户、更新现有用户或删除现有用户。 该脚本使用逗号分隔值 (CSV) 文件来指定用户,这是同时创建和配置多个用户的绝佳途径。
注意 您还可以在 Exchange 控制面板中使用 CSV 文件创建多个新用户。 有关详细信息,请参阅使用 CSV 文件导入新 Exchange Online 用户。
该脚本用于以下用户类型:
- 邮箱用户 邮箱用户是基于云的域中的用户,这些用户拥有一个邮箱和一个对应的 Windows Live ID。
- 邮件联系人 邮件联系人也称为外部联系人,他们在域中没有 Windows Live ID 或邮箱。 对于基于云的服务,邮箱联系人是您的组织外部的用户。 但是,其联系信息包括可在通讯簿中显示的电子邮件地址。
- 邮件用户 邮件用户在域中也没有邮箱。 但是,对于基于云的服务,邮箱用户是您的组织内部的用户,且他们可以拥有 Windows Live ID。例如,他们可以是组织中具有内部部署电子邮件帐户的用户。
有关详细说明,请参阅本主题后面的部分:
- CSV 文件的选项
- CSV 文件的重要特性
- CSV 文件的可选特性
- CSV_Parser.ps1 脚本的选项
- 如何使用 CSV_Parser.ps1 脚本?
- 对 CSV_Parser.ps1 脚本进行故障排除
- 不支持的特性
开始之前
若要了解如何安装和配置 Windows PowerShell 并连接到服务,请参阅使用 Windows PowerShell。
您在运行该脚本前不必将 Windows PowerShell 连接到基于云的服务。 该脚本会为您进行连接。
下载脚本
在此处下载 CSV_Parser.ps1
Windows PowerShell 脚本。
下载该脚本文件后,请执行以下步骤:
- 右键单击该脚本文件,然后选择“属性”。
- 在“常规”选项卡上,在包含“此文件来自其他计算机,可能被阻止以帮助保护该计算机”字样的“安全”部分中,单击“取消阻止”。 如果没有“安全”部分,则可跳过此步骤。
- 单击“确定”。
CSV 文件的选项
可以使用任何文本编辑器或 Microsoft Office Excel 等应用程序创建 CSV 文件。 按照本主题的“CSV 文件格式”部分中的说明设置该文件的格式,并使用扩展名“.csv”保存该文件。
备注
如果 CSV 文件包含非 ASCII 字符,请务必使用 UTF-8 编码保存 CSV 文件。 根据应用程序的不同,如果计算机的系统区域设置与 CSV 文件中使用的语言相匹配,则使用 UTF-8 编码保存 CSV 文件可能会更容易。
另外,如果您使用 Excel 来创建或修改 CSV 文件,请不要在单元格值中包括双引号。 将文件另存为 CSV 文件时,Excel 会自动向包含空格的所有单元格值添加双引号。 可以在“记事本”或其他文本编辑器中检查该 CSV 文件以确认这些值不包含额外的双引号。
CSV 文件的第一行(即“标题行”)列出了在后续行中指定的特性(字段)的名称。 每个特性名称都用逗号分隔开。
标题行下的每一行表示一个单独的用户,并提供 Windows Live ID、基于云的邮箱和地址簿列表所需的信息。 每个用户行中的特性的顺序必须与标题行中特性名的顺序相同。 每个特性值都用逗号分隔开。 如果特定记录的特性值是 Null,则不要键入该特性的任何内容。 但是,请确保包括将 Null 值与下一个特性分隔开的逗号。
CSV 文件格式
下面是一个格式正确的 CSV 文件的示例。在本示例中,将提供两个邮箱用户:一个邮箱用户对应 Tamara Johnston,另一个邮箱用户对应 Ayla Kol。
Action,Type,Name,EmailAddress,Password,FirstName,LastName,DisplayName
Add,Mailbox,Tamara Johnston,TamaraJ@students.contoso.edu,P@ssw0rd,Tamara,Johnston,Tamara Johnston
Add,Mailbox,Ayla Kol,Aylak@students.contoso.edu,P@ssw0rd,Ayla,Kol,Ayla Kol
CSV 文件的重要特性
此表列出了 CSV 文件中使用的重要特性。 这些特性中有很多始终是必需的。
特性名称 | 必需/可选 | 描述 |
---|---|---|
Action |
始终必需 |
Action 是指正在执行的过程的类型。 有效选项包括:
重要说明 请避免在同一 CSV 文件中组合使用 Add 操作和 Update 操作。并且记住: 如果在标题行中定义特性,但在 Update 操作中将用户的特性指定为 Null 值,则会从用户中删除该特性的现有值。 |
Type |
始终必需 |
Type 指定用户类型。 有效条目包括:
|
Name |
始终必需 |
Name 指定用户的标识符。 创建新邮箱用户或邮件用户时,Name 的值将用作 Windows Live ID 的名称。Name 的值在域中必须是唯一的。 Name 特性对于针对基于云的用户的 Windows PowerShell 操作很重要,但 Name 特性的值在 Windows PowerShell 外部不可见。 DisplayName 特性对现有用户是可修改的且在共享地址簿中可见。 注意 请确保用于 Name 的值在基于云的组织中是唯一的。 如果创建了 Name 值相同但 Windows Live ID 不同的两个帐户,则在将 Windows Live ID 与正确的邮箱关联时可能会出现问题。 |
DisplayName |
|
DisplayName 指定用户名如何在地址簿和 Exchange 控制面板中显示。 如果在创建新用户时没有为 DisplayName 指定值,则为 DisplayName 使用 EmailAddress 的值。 若要创建显示名称“Last, First”,请用双引号将此值括起来。 如果您使用 Excel 来创建或修改 CSV 文件,请不要在单元格值中包括双引号。 |
FirstName |
|
FirstName 指定在通讯簿中为用户列出的名。 创建新邮箱用户或邮件用户时,FirstName 的值也将用作 Windows Live ID 的名字。 |
LastName |
|
LastName 指定在通讯簿中为用户列出的姓。 创建新邮箱用户或邮件用户时,LastName 的值也将用作 Windows Live ID 的姓氏。 |
EmailAddress 或 WindowsLiveID |
|
EmailAddress 和 WindowsLiveID 是可互换的。 不要在相同的 CSV 文件中使用 EmailAddress 和 WindowsLiveID。 EmailAddress 指定新用户的电子邮件地址。 创建新邮箱用户或邮件用户时,EmailAddress 特性将用作主电子邮件地址,并用于创建对应的 Windows Live ID。EmailAddress 的值在基于云的组织中必须是唯一的。 对于邮箱用户和邮件用户,EmailAddress 的值必须位于基于云的组织的接受域中。 对于邮件联系人,EmailAddress 的值不能位于基于云的组织的接受域中。 您不能使用 CSV_Parser.ps1 脚本来更新现有用户的主电子邮件地址或 Windows Live ID。 |
FederatedIdentity |
|
FederatedIdentity 在联合域中使用,用于将本地帐户与基于云的邮箱或邮件用户关联。 |
EmailAddressN,其中 N 是从 2 到 5 的整数。 |
|
EmailAddressN 最多可为用户指定 4 个其他电子邮件地址(称为“代理地址”)。 对于邮箱用户和邮件用户,代理地址必须位于基于云的组织的接受域中。 对于邮件联系人,代理地址不能位于基于云的组织的接受域中。 |
Password |
|
Password 是邮箱用户或邮件用户的 Windows Live ID 密码。 Password 特性在您创建新的邮箱用户或邮件用户时是必需的,且可以选择将其用于重置现有邮箱用户的密码。 若要在用户登录后强制其更改代码,请使用 ForceChangePassword 特性。 有关密码的详细信息,请参阅密码准则。 |
ForceChangePassword 或 ResetPasswordOnNextLogon |
|
ForceChangePassword 和 ResetPasswordOnNextLogon 是可互换的。 不要在相同的 CSV 文件中使用 ForceChangePassword 和 ResetPasswordOnNextLogon。 仅当您创建或更新邮箱用户时,ForceChangePassword 才在 |
MailboxPlan |
|
仅当您创建新邮箱用户时,MailboxPlan 才在 |
EvictLiveID |
|
EvictLiveID 仅当您创建邮箱或邮件用户时可用。 使用此特性以便在遇到与您尝试创建的新用户的电子邮件地址匹配的 EASI ID 时创建用户。 当设置为 从您的域中收回 Windows Live ID 时,您可以使用相同的名称创建新的 Windows Live ID,但使用的密码必须与收回的 Windows Live ID 的密码不同。 如果在 Add 操作过程中遇到 EASI ID,且您未将 EvictLiveID 或 ImportLiveID 的值指定为 |
ImportLiveID |
|
ImportLiveID 仅当您创建邮箱或邮件用户时可用。 使用此特性以便在遇到与您尝试创建的新用户的电子邮件地址匹配的 EASI ID 时创建用户。 注意 ImportLiveID 在联盟域中不受支持。 当设置为 将 Windows Live ID 导入您的基于云的组织后,您不能收回该 Windows Live ID。一般而言,我们建议不要将 EASI ID 导入基于云的组织中。 此外,如果将 Windows Live ID 导入您的基于云的组织,则 Password 的值将被忽略。 如果在 Add 操作过程中遇到 EASI ID,且您未将 EvictLiveID 或 ImportLiveID 的值指定为 |
KeepWindowsLiveID |
|
KeepWindowsLiveID 仅当您删除邮箱或邮件用户时可用。 当设置为 如果 KeepWindowsLiveID 的值不是 注意 在联盟域中,Windows Live ID 始终保留,所以您不需要使用 KeepWindowsLiveID 特性。 |
页面顶部
CSV 文件的可选特性
此表列出了可在 CSV 文件中使用的可选特性。 如果没有为这些特性提供值,则它们将保留为空。 这些特性都不用于 Delete 操作。
特性名称 | 描述 |
---|---|
City |
City 指定在通讯簿中为用户列出的城市。 |
Company |
Company 指定在通讯簿中为用户列出的公司名称。 |
CountryorRegion |
CountryorRegion 指定 ISO 3166 两字母国家/地区代码或为通讯簿中的用户列出的国家/地区的名称。 您可在“国家/地区”字段中查找 CountryorRegion 的有效值,该字段位于 Exchange 控制面板中的帐户属性的“联系人信息”部分。 |
CustomAttributeN(其中,N 是 1 到 15 的整数)。 |
此参数指定 Custom Attribute N 属性,其中 N 是从 1 到 15 的整数。Custom Attribute N 属性在 Exchange 控制面板或通讯簿中不可见。 但是,可以将 CustomAttributeN 值用作 Windows PowerShell 操作(例如,创建动态通讯组)的筛选器。 有关详细信息,请参阅 动态通讯组。 |
Department |
Department 指定在通讯簿中为用户列出的部门。 |
Fax |
Fax 指定在通讯簿中为用户列出的传真号码。 |
HomePhone |
HomePhone 指定在通讯簿中为用户列出的家庭电话号码。 |
Initials |
Initials 指定在通讯簿中为用户列出的中间名首字母。 |
MobilePhone |
MobilePhone 指定在通讯簿中为用户列出的移动电话号码。 |
Notes |
Notes 字段指定在通讯簿中为用户列出的其他信息。 |
Office |
Office 指定在通讯簿中为用户列出的办公室位置。 |
Phone |
Phone 指定在通讯簿中为用户列出的工作电话号码。 |
PostalCode |
PostalCode 指定在通讯簿中为用户列出的邮政编码。 |
StateorProvince |
StateorProvince 指定在通讯簿中为用户列出的省/市/自治区。 |
StreetAddress |
StreetAddress 指定在通讯簿中为用户列出的街道地址。 |
Title |
Title 指定在通讯簿中为用户列出的职务。 |
WebPage |
WebPage 指定在通讯簿中为用户列出的网页地址。 |
页面顶部
CSV_Parser.ps1 脚本的选项
参数 | 必需 | 描述 |
---|---|---|
LiveCredential |
必需 |
LiveCredential 参数指定基于云的域中的 Exchange Online 管理员帐户的 Windows Live ID 和密码。 若要指定 LiveCredential 参数的值,请在运行 |
UsersFile |
必需 |
UsersFile 参数指定 |
EndRow |
可选 |
EndRow 参数指定要处理的 CSV 文件的最后一个数据行。 默认值为 1000000。如果未指定值,则该脚本将处理 CSV 文件中的所有数据行,直至到达该文件末尾。 包含列定义的标题行不算在 CSV 文件的数据行计数中。 |
LogDirectory |
可选 |
LogDirectory 参数指定由该脚本生成的日志文件的位置。 日志文件的名称为 CSV_Parser_<年月日_时间>.txt。此文件包含非常有用的故障排除信息。 如果没有为 LogDirectory 指定值,则该日志文件将存储在由 Windows 配置文件中的 %TEMP% 环境变量所指定的目录中。 默认情况下,该临时目录位于 C:\Users\<用户名>\AppData\Local\Temp 中。 如果指定其他日志目录,请确保指定的目录存在,并确保您具有在该目录中读取和创建文件所需的相应权限。 |
LogVerbose |
可选 |
LogVerbose 参数启用详细调试日志记录以进行高级疑难解答。 如果指定 LogVerbose 参数,则启用详细调试日志记录。 |
RemoteURL |
可选 |
RemoteURL 参数指定可将本地 Windows PowerShell 控制台连接到基于云的远程服务的 URL。 您不必使用此参数。 该脚本会自动连接到正确的数据中心。 此参数只接受值 |
StartRow |
可选 |
StartRow 参数指定要处理的 CSV 文件的起始数据行。 默认值为 1。如果未指定值,则该脚本将从 CSV 文件中的第一个数据行开始处理。 包含列定义的标题行不算在 CSV 文件的数据行计数中。 |
ValidateAction |
可选 |
ValidateAction 参数启用或禁用验证。 默认值为 |
$WarningPreference |
不适用 |
$WarningPreference 控制脚本的错误处理。 通过修改
默认值为 |
页面顶部
如何使用 CSV_Parser.ps1 脚本?
以下示例说明如何使用包含以下详细信息的 CSV_Parser.ps1
脚本:
- 指向 CSV_Parser.ps1 脚本的路径 C:\Tools\CSV_Parser.ps1
- CSV 文件名和路径 C:\Data\Bulk Import.csv
使用 CSV_Parser.ps1 脚本导入在“C:\Data\Bulk Import.csv”文件中定义的用户
单击“开始”>“所有程序”>“附件”>“Windows PowerShell”>“Windows PowerShell”。
运行以下命令:
$LiveCred = Get-Credential
在打开的“Windows PowerShell 凭据请求”窗口中,键入 Exchange Online 管理员帐户的 Windows Live ID 和密码。 完成后,请单击“确定”。
运行以下命令:
C:\Tools\CSV_Parser.ps1 -LiveCredential $LiveCred -UsersFile "C:\Data\Bulk Import.csv"
根据在 CSV 文件中定义的用户和特性的数量,运行该脚本可能需要一段时间。 可能会显示各种消息和错误。 完成该脚本后,可以在名为 CSV_Parser_<年月日_时间>.txt 的日志文件中查看这些消息。 默认情况下,该日志文件位于 C:\Users\<用户名>\AppData\Local\Temp\ 中,但您可以使用 LogDirectory 参数指定该日志文件的位置。
页面顶部
对 CSV_Parser.ps1 脚本进行故障排除
如果您在运行该脚本时遇到困难,或该脚本没有产生预期结果,请尝试执行以下故障排除步骤:
- 验证 CSV 文件的结构和内容是否正确。 为此,请参阅
CSV_Parser.ps1
脚本附带的test.csv
文件。- 下列属性始终是必需的: Action、Type 和 Name。
- EmailAddress 特性对 Add 和 Update 操作是必需的。
- Password 特性对于针对邮箱用户和邮件用户的 Add 操作是必需的。
- 确保正在运行该脚本的最新版本。 该脚本具有自动版本检查功能,每当您运行该脚本时,此功能就会运行。 如果您使用的是该脚本的过时版本,则您将收到一条与以下内容类似的错误消息:
错误 = 不再支持此脚本版本 <版本>。 请更新到最新版本。 - 如果
CSV_Parser.ps1
脚本在连接到基于云的服务时遇到问题,可尝试手动连接而不使用该脚本。 有关如何将 Windows PowerShell 连接到基于云的服务的详细信息,请参阅将 Windows PowerShell 连接到服务。 - 检查日志文件。 默认情况下,日志文件位于 C:\Users\<用户名>\AppData\Local\Temp 中,但您可以使用 LogDirectory 参数更改该位置。 日志文件的名称是 CSV_Parser_<年月日_时间>.txt。
页面顶部
不支持的特性
CSV_Parser.ps1
脚本不支持以下特性:
- ExtensionCustomAttribute1 – ExtensionCustomAttribute5
页面顶部