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

PowerShell中无法找到指定AD身份验证上下文类型求解决

问题:无法找到类型 [Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext]

尝试编写以下PowerShell代码,调用Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext类型:

$authUrl = "https://login.windows.net/${tenantId}"
$authContext = [Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext]$authUrl
$cred = New-Object Microsoft.IdentityModel.Clients.ActiveDirectory.ClientCredential $applicationId,$key

已执行模块安装和导入操作:

Install-Module -Name AzureAD -AllowClobber
Import-Module -Name AzureAD

但执行代码时始终报错:

Unable to find type [Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext].
解决方案
  • 手动加载目标程序集
    AzureAD模块虽包含相关依赖,但可能未自动加载对应程序集。可手动定位并加载:
# 获取AzureAD模块的安装路径
$modulePath = (Get-Module AzureAD -ListAvailable).ModuleBase
# 加载ADAL程序集
Add-Type -Path (Join-Path $modulePath "Microsoft.IdentityModel.Clients.ActiveDirectory.dll")
  • 改用AzureAD模块内置认证方法
    AzureAD模块提供了更简洁的原生认证接口,无需手动调用旧版ADAL类型:
# 通过应用凭据连接AzureAD
Connect-AzureAD -TenantId $tenantId -ApplicationId $applicationId -ClientSecret $key
# 或直接获取访问令牌
$token = Get-AzureADAccessToken -Resource "https://graph.microsoft.com" -TenantId $tenantId -ApplicationId $applicationId -ClientSecret $key
  • 安装ADAL专用PowerShell模块(备选)
    如果必须使用旧版ADAL类型,可直接安装专门的ADAL模块:
Install-Module -Name ADAL.PS -AllowClobber
Import-Module ADAL.PS

安装完成后即可直接使用Microsoft.IdentityModel.Clients.ActiveDirectory命名空间下的所有类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 13:07:09