【发布时间】:2020-12-21 10:09:05
【问题描述】:
最近,我在尝试创建 ClientCredential 和/或 ClientAssertion 时遇到了一些 Azure DevOps PowerShell 问题。我有以下代码,过去用于根据以下变量创建 ClientCredential:
-
租户 ID
-
客户 ID (SPN)
-
密码(SPN 密码)
$ResourceUrl = "https://database.windows.net/"
$AuthorityUrl = "https://login.microsoftonline.com/$($TenantId)"
$objClientCredential = [Microsoft.IdentityModel.Clients.ActiveDirectory.ClientCredential]::new($ClientId, $Password) $objAuthenticationContext = [Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext]::new($AuthorityUrl) $objAuthenticationResult = $objAuthenticationContext.AcquireTokenAsync($ResourceUrl, $objClientCredential)
但最近这段代码停止工作。 AzureAD 模块似乎未正确加载。这只发生在 Azure DevOps Powershell 上,在我的机器上运行良好(我使用的是 PowerShell 7.1) 到目前为止,我尝试了以下操作:
- 如上图运行代码 **中断:**$objClientCredential = [Microsoft.IdentityModel.Clients.ActiveDirectory.ClientCredential]::new($ClientId, $Password) 错误:找不到类型 [Microsoft.IdentityModel.Clients.ActiveDirectory.ClientCredential]
- 在运行代码之前安装 AzureAD 安装-模块-名称 AzureAD -Force 导入模块-名称 AzureAD **中断:**$objClientCredential = [Microsoft.IdentityModel.Clients.ActiveDirectory.ClientCredential]::new($ClientId, $Password) 错误:找不到类型 [Microsoft.IdentityModel.Clients.ActiveDirectory.ClientCredential]
- 从我的机器导入 dll Microsoft.IdentityModel.Clients.ActiveDirectory.dll 添加类型-路径“.\libraries\Microsoft.IdentityModel.Clients.ActiveDirectory.dll 不会中断,但未创建 ClientCredential,它返回为 null
有没有人遇到过类似的问题?你知道我该怎么开这个吗?
【问题讨论】:
标签: azure-devops azure-powershell