PowerShell运行Connect-AzureAD报parsing_wstrust_response_failed错误如何解决
问题修复方案
1 修正基础语法与路径错误
- 修复连接命令语法错误:脚本中
Connect-AzureAD -TenantId $TenantId-credential $MyCredential的$TenantId与-credential参数之间缺少空格,导致参数解析异常,修改为:
Connect-AzureAD -TenantId $TenantId -credential $MyCredential
- 统一凭证文件路径:生成密码文件时输出到
C:\AzureAD\Password.txt,但脚本读取的路径为C:\Azure-AD\Password.txt,两侧路径不一致会导致读取凭证失败,统一两边路径即可。
2 修复凭证加密问题
ConvertFrom-SecureString默认使用当前用户、当前设备的上下文加密密码,加密后的密码文件仅支持在生成文件的设备上、使用生成文件的用户账号运行脚本才能正常解密,跨用户/跨设备使用会解密失败。如果需要跨环境使用,可在加密时指定-Key参数自定义密钥,解密时传入相同密钥即可。
3 解决WS-Trust认证失败问题
- 如果你使用的账号启用了多因素认证(MFA),无法直接使用用户名密码方式调用
Connect-AzureAD,可改用服务主体认证,或者添加-UseDeviceAuthentication参数使用设备码方式登录。 - 如果你使用的是联邦身份租户,或者租户管理员禁用了WS-Trust认证端点,也会触发该报错,建议改用微软官方推荐的Microsoft Graph PowerShell模块替代已经停止维护的AzureAD模块,对应连接命令为:
Connect-MgGraph -TenantId $TenantId -Credential $MyCredential
4 模块版本问题
运行以下命令升级AzureAD模块到最新版本,避免旧版本已知Bug:
Update-Module AzureAD -Force
内容的提问来源于stack exchange,提问作者Bilal Yousaf
相关产品推荐
相关产品推荐

