You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过PowerShell替换Azure AD来宾账户的邮箱域名

修改Azure AD来宾用户邮箱域名的正确PowerShell方法

你的原命令无法生效的原因有两个:

  1. 错误修改了MailNickName属性——这只是邮件别名的前缀,和实际邮箱地址(mail属性)无关。
  2. 未针对来宾用户的特殊属性结构,同步修改必要的mail和UserPrincipalName属性。

正确实现步骤

  1. 连接Azure AD(确保已安装AzureAD模块,未安装的话先运行Install-Module AzureAD):
Connect-AzureAD
  1. 批量修改来宾用户邮箱域名:
# 获取租户主域名(也可直接替换为你的租户域名,比如yourtenant.onmicrosoft.com)
$tenantDomain = (Get-AzureADTenantDetail).VerifiedDomains | Where-Object {$_.IsDefault -eq $true} | Select-Object -ExpandProperty Name

# 筛选并修改目标来宾用户
Get-AzureADUser | Where-Object {
    $_.UserType -eq 'Guest' -and $_.mail -like "*@abc.com"
} | ForEach-Object {
    # 提取邮箱前缀(去掉@abc.com后缀)
    $userPrefix = $_.mail -replace "@abc.com$", ""
    
    # 构造新的邮箱地址和来宾用户专用UPN
    $newMail = "$userPrefix@xyz.com"
    $newUpn = "$userPrefix_xyz.com#EXT#@$tenantDomain"
    
    # 执行修改(可先加-WhatIf参数测试,确认无误后移除)
    Set-AzureADUser -ObjectId $_.ObjectId -Mail $newMail -UserPrincipalName $newUpn
}

关键说明

  • 权限要求:需拥有全局管理员、用户管理员或来宾邀请者权限。
  • 测试建议:在正式修改前,给Set-AzureADUser添加-WhatIf参数,预览修改操作,避免误改数据。
  • 外部邮箱有效性:确保新的@xyz.com后缀邮箱在外部租户中真实存在,否则来宾用户可能无法正常登录。

内容的提问来源于stack exchange,提问作者Jim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 22:35:16