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

PowerShell自动连接AzureAD脚本运行报错404如何修复?

修复方案

1. 修正脚本语法与逻辑错误

原脚本存在多个明显的语法和逻辑错误,按优先级修复:

  • Connect-AzureAD 参数格式错误:$TenantId 与 -credential 之间没有空格,会被识别为同一个参数值,修改为:
    Connect-AzureAD -TenantId $TenantId -Credential $MyCredential
    
  • 用户名读取逻辑错误:你直接把用户名文件的路径 C:\Azure-AD\UserName.txt 赋值给了 $SecUser,没有实际读取文件内的用户名内容,修改为:
    $SecUser = Get-Content "C:\Azure-AD\UserName.txt"
    
  • 文件路径不匹配:你生成加密密码时存储的路径是 C:\AzureAD\Password.txt,脚本读取的路径是 C:\Azure-AD\Password.txt,二者差了一个横杠,建议统一路径为 C:\Azure-AD,生成密码的命令对应修改为:
    (Get-Credential).Password | ConvertFrom-SecureString | Out-File "C:\Azure-AD\Password.txt"
    
  • 租户ID为空:$TenantId = "" 没有填写你实际的Azure AD租户ID,需要替换为你自己的租户ID值,可在Azure门户的Azure AD概览页获取。

2. 补充前置检查项

修改完上述错误后如果仍报错,再检查以下配置:

  • 确认你使用的账号没有启用多因素认证(MFA),基于用户名密码的非交互认证方式不支持开启MFA的账号,如果必须用MFA账号,需要改用服务主体或托管身份认证。
  • 确认AzureAD模块已安装且版本正常,可执行以下命令重新安装最新版模块:
    Install-Module -Name AzureAD -Force -AllowClobber
    
  • 确认运行脚本的用户和生成加密密码的用户是同一个Windows用户,ConvertFrom-SecureString 生成的加密串默认和当前用户、当前设备绑定,换用户/换设备都无法解密。

修复后完整脚本示例

# 替换为你实际的Azure AD租户ID
$TenantId = "替换为你的租户ID"
$SecFile = "C:\Azure-AD\Password.txt"
# 读取用户名文件内容
$SecUser = Get-Content "C:\Azure-AD\UserName.txt"
$MyCredential = New-Object -TypeName System.Management.Automation.PSCredential  -ArgumentList $SecUser, (Get-Content $SecFile | ConvertTo-SecureString)

Connect-AzureAD -TenantId $TenantId -Credential $MyCredential

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:06:02