0

我正在尝试运行 powershell 命令 - ConnectAzureAD 并收到以下错误 -

'无法加载文件或程序集'Microsoft.IdentityModel.Clients.ActiveDirectory,版本 = 3.19.7.16602,文化 = 中性,。无法找到或加载特定文件。

这在早期使用 Powershell 5 但不适用于 powershell 核心。我使用的版本如下:Powershell - 7.0.1 Az.Accounts - 1.8.1(我尝试过更新但没有运气) AzureAd - 2.0.2.104

有什么解决方法吗?我们从“测试后库”尝试了 Azure.Standard.Preview,但它未能通过 keyVault powershell 命令。对此有什么帮助吗?

4

3 回答 3

3
Install-Module -Name AzureADPreview -RequiredVersion 2.0.2.89 
Import-Module AzureADPreview -Version 2.0.2.89 -UseWindowsPowerShell
于 2020-11-27T15:48:48.740 回答
0

您可以改为尝试使用 az rest 调用图形 api。

在 az-cli 与 AzureAD powershell 模块相提并论之前,您可以改用图形 api

az login --tenant <tenantname.onmicrosoft.com>
$uri = "https://graph.microsoft.com/v1.0/applications"

$allApplications = az rest `
   --method GET `
   --uri $uri `
   --headers 'Content-Type=application/json' | convertfrom-json

$allApplications.value |% {"{0}-{1}" -f $_.appid, $_.displayname}

我在这里使用 az rest 放置了一些示例, https://github.com/joepaulk/utilities/blob/master/manage-azuread-applicationregistrations.ps1

您也可以参考:https ://damienbod.com/2020/06/22/using-azure-cli-to-create-azure-app-registrations/我从中获得灵感

其他参考,az rest 如何使用来自 az cli 的访问令牌可以在这里找到, https://mikhail.io/2019/07/how-azure-cli-manages-access-tokens/

于 2020-11-09T00:27:40.970 回答
0

正如 Shiva 所说,这是 .NET CORE 的一个已知限制,即如果已加载旧版本,则无法加载新版本程序集。PowerShell 正在考虑模块隔离,但目前还没有好的解决方案。

您可以升级Microsoft.IdentityModel.Clients.ActiveDirectory最新版本

有关更多详细信息,您可以参考此问题

于 2020-07-03T07:09:57.790 回答