Azure AD公司级邮件验证设置修改遇阻:PowerShell执行Connect-MsolService报错求助
解决Connect-MsolService加载System.IdentityModel错误并启用邮件验证的方法
我来帮你搞定这个问题,你碰到的两个核心问题——Connect-MsolService的组件加载错误,以及Azure PowerShell是否支持执行Set-MsolCompanySettings命令,我整理了对应的解决方案:
一、先解决System.IdentityModel加载失败的问题
这个错误通常是因为MSOnline模块(也就是你用来执行Msol系列命令的模块)依赖的.NET Framework组件缺失,或者模块本身安装有问题:
重新安装MSOnline模块
先卸载可能损坏的旧版本,再重新安装:# 卸载所有版本的MSOnline模块 Uninstall-Module -Name MSOnline -AllVersions -Force # 重新安装最新版本,允许覆盖冲突 Install-Module -Name MSOnline -Force -AllowClobber注意:要以管理员身份运行PowerShell,并且如果遇到脚本执行权限问题,先运行
Set-ExecutionPolicy RemoteSigned,按提示输入Y确认。修复.NET Framework依赖
System.IdentityModel是.NET Framework的核心组件,确保你的机器安装了**.NET Framework 4.7.2或更高版本**。如果已经安装还是报错,可以手动注册组件:
打开管理员命令提示符(不是PowerShell),运行:# 64位系统执行这个 regsvr32 "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\System.IdentityModel.dll" # 32位系统执行这个 regsvr32 "C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.IdentityModel.dll"
二、正确执行启用邮件验证的命令
解决组件问题后,按以下步骤操作:
- 打开PowerShell,运行
Connect-MsolService,会弹出登录窗口,使用你的Azure AD全局管理员账号登录。 - 登录成功后,执行启用命令:
Set-MsolCompanySettings -AllowEmailVerifiedUsers $true - 验证设置是否生效:
输出结果里Get-MsolCompanySettings | Select-Object AllowEmailVerifiedUsersAllowEmailVerifiedUsers的值应该是True。
三、重要提示:MSOnline模块已被弃用
微软已经宣布MSOnline模块(也就是Msol系列命令)即将退役,推荐使用Microsoft Graph PowerShell模块来替代,对应的启用邮件验证的操作步骤如下:
- 安装Graph模块:
Install-Module -Name Microsoft.Graph.Identity.SignIns -Force - 连接到Microsoft Graph,需要
Organization.ReadWrite.All权限:Connect-MgGraph -Scopes "Organization.ReadWrite.All" - 更新组织设置:
# 先获取你的租户ID,或者直接替换成你的租户ID $tenantId = (Get-MgContext).TenantId Update-MgOrganization -OrganizationId $tenantId -AllowEmailVerifiedUsers $true - 验证设置:
Get-MgOrganization | Select-Object AllowEmailVerifiedUsers
内容的提问来源于stack exchange,提问作者maxisalamone
相关产品推荐
相关产品推荐

