使用 PowerShell 配置 Microsoft 365 用户帐户属性

此文章适用于 Microsoft 365 企业版和 Office 365 企业版。

可以使用 Microsoft 365 管理中心为 Microsoft 365 租户的用户帐户配置属性。 在 PowerShell 中,还可以执行此操作,以及一些无法在管理中心执行的其他操作。

使用 Microsoft Graph PowerShell 配置 Microsoft 365 用户帐户属性

注意

Azure Active Directory 模块将替换为 Microsoft Graph PowerShell SDK。 可以使用 Microsoft Graph PowerShell SDK 访问所有 Microsoft Graph API。 有关详细信息,请参阅 Microsoft Graph PowerShell SDK 入门

首先,使用 Microsoft Entra DC 管理员云应用程序管理员全局管理员帐户连接到 Microsoft 365 租户。 本文中的 cmdlet 需要权限范围 User.ReadWrite.All“List subscribedSkus”图形 API参考页中列出的其他权限之一。 本文中的某些命令可能需要不同的权限范围,在这种情况下,相关部分将对此进行说明。

Connect-MgGraph -Scopes "User.ReadWrite.All"

更改特定用户帐户的属性

使用 -ObjectID 参数标识帐户,并使用其他参数设置或更改特定属性。 下面是最常见的参数列表:

  • -部门“<部门名称>”

  • -DisplayName“<完整用户名>”

  • -FacsimilieTelephoneNumber “<fax number>”

  • -GivenName “<user first name>”

  • -姓氏“<用户姓氏>”

  • -移动“<移动电话号码>”

  • -JobTitle“<职务>”

  • -PreferredLanguage “<language>”

  • -StreetAddress “<street address>”

  • -城市“<城市名称>”

  • -State “<state name>”

  • -PostalCode“<邮政编码>”

  • -国家/地区“<国家/地区名称>”

  • -TelephoneNumber “<办公室电话号码>”

  • -UsageLocation“<2 字符国家或地区代码>”

    这是 ISO 3166-1 alpha-2 (A2) 双字母国家或地区代码。

注意

必须先分配使用位置,然后才能将许可证分配给用户帐户。

若要显示用户帐户的用户主体名称 (UPN) ,请运行以下命令。

Get-MgUser -All | Sort-Object UserPrincipalName | Select-Object UserPrincipalName | More

此命令指示 PowerShell:

  1. (Get-MgUser) 获取用户帐户的所有信息,并将其发送到下一个命令 (|) 。

  2. (UserPrincipalName) 按字母顺序对 UPN 列表进行排序,并将其发送到下一个命令 (|) 。

  3. 仅显示每个帐户的 UPN 属性, (选择 UserPrincipalName) 。

  4. 一次显示一个屏幕 (更多) 。

若要根据帐户的显示名称 (名字和姓氏) 显示 UPN,请运行以下命令。 填写 $userName 变量,然后删除 < 和 > 字符:

$userName="<Display name>"
Write-Host (Get-MgUser -All | where {$_.DisplayName -eq $userName}).UserPrincipalName

此示例显示显示名称为 Caleb Sills 的用户帐户的 UPN。

$userName="Caleb Sills"
Write-Host (Get-MgUser -All | where {$_.DisplayName -eq $userName}).UserPrincipalName

通过使用 $upn 变量,可以根据各个帐户的显示名称对其进行更改。 以下示例将 Belinda Newman 的使用位置设置为“法国”。 但它指定了她的显示名称,而不是 UPN:

$userName="Belinda Newman"
$upn=(Get-MgUser | where {$_.DisplayName -eq $userName}).UserPrincipalName
Update-MgUser -UserId $upn -UsageLocation "FR"

更改所有用户帐户的属性

若要更改所有用户的属性,可以使用 Get-MgUserUpdate-MgUser cmdlet 的组合。 以下示例将所有用户的使用位置更改为 “法国”:

Get-MgUser | ForEach-Object { Update-MgUser -UserId $_.Id -UsageLocation "FR" }

此命令指示 PowerShell:

  1. (Get-MgUser) 获取用户帐户的所有信息,并将其发送到下一个命令 (|) 。

  2. 将用户位置设置为 France (Update-MgUser -UsageLocation FR) 。

更改一组特定用户帐户的属性

若要更改一组特定用户帐户的属性,可以使用 Get-MgUserWhereUpdate-MgUser cmdlet 的组合。 以下示例将会计部门中的所有用户的使用位置更改为 “法国”:

Get-MgUser -All | Where-Object {$_.Department -eq "Accounting"} | ForEach-Object {Update-MgUser -UserId $_.Id -UsageLocation "FR"}

此命令指示 PowerShell:

  1. 获取有关 Get-MgUser) (用户帐户的所有信息,并将其发送到下一个命令 (|) 。

  2. 查找其 Department 属性设置为“Accounting”的所有用户帐户, (Where {$_。Department -eq “Accounting”}) ,并将结果信息发送到下一个命令 (|) 。

  3. 将用户位置设置为 France (Update-MgUser -UsageLocation FR) 。

另请参阅

使用 PowerShell 管理 Microsoft 365 用户帐户、许可证和组

使用 PowerShell 管理 Microsoft 365

PowerShell for Microsoft 365 入门