【问题标题】:unable to authenticate to azure using powershell无法使用 powershell 对 azure 进行身份验证
【发布时间】:2022-12-23 18:59:19
【问题描述】:

我们有一个天蓝色的租户。 我们开了一个新的,将我们的用户传递给新租户,然后将我们的用户作为客人添加到旧租户。 通过意味着我们从第一个租户中删除了我们的用户,然后我们将域迁移到新租户并在新租户中创建了具有相同属性的用户。

从那时起,每次我们尝试使用带有推荐 Connect-azaccount -TenantId 的 powershell 连接到 azure 时,我们都会收到以下错误:

Unable to acquire token for tenant '***' with error 'SharedTokenCacheCredential authentication unavailable. No account matching the specified username: *** tenantId: *** was found in the cache.'

有人知道如何解决这个问题吗?

谢谢你

我们已经尝试了我们在网上找到的所有东西。 我们尝试 clear-azcontext,从我们的机器中删除证书,删除 powershell 并重新安装等......

【问题讨论】:

  • 客户需要新租户的帐户。您正在使用 Windows 身份验证进行连接,因此客户端需要一个新租户帐户。应该有一个组策略,其中用户在所有机器上都有网络帐户。您可能缺少新域的组策略。

标签: azure powershell authentication scripting azure-active-directory


【解决方案1】:

无法获取租户 xxx 的令牌,错误为 SharedTokenCacheCredential 身份验证不可用。在缓存中找不到与指定用户名匹配的帐户:xxx tenantId: xxx

如果用户不在您尝试登录的租户中,通常会发生该错误。

要详细检查错误,您可以尝试调试如下所示:

$DebugPreference = "Continue"
Connect-AzAccount -TenantID XXXX

根据调试详细信息,您可以检查正在连接的用户是哪个租户或任何用户详细信息。

尝试连接订阅号如下所示:

Connect-AzAccount -Subscription SubscriptionID -TenantId TenantID

检查用户是否启用了 MFA 并尝试连接到全局管理员帐户。并且有可能是账号还在本地缓存的场景,所以试试在别的机器上能不能用。

你也可以利用设备认证如下所示:

Connect-AzAccount -Tenant TenantID -UseDeviceAuthentication

打开浏览器,输入代码:

确保安装 Az 模块如下所示:

最初清除缓存并尝试通过设置执行策略安装

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Install-Module Az
Import-Module Az
Update-Module -Name Az

检查租户中的用户帐户是否具有订阅所需的权限。

尝试选择上下文在 PowerShell 中:

Get-AzContext -ListAvailable
Select-AzContext -Name Name

或者您可以通过包含 TenantID 将上下文设置为 SubscriptionID:

Set-AzContext -Subscription $subscription -Tenant $tenantId | Out-null

如果问题仍然存在,可能是迁移域时的一些环境问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-04
    • 1970-01-01
    • 1970-01-01
    • 2013-05-30
    • 2013-03-31
    相关资源
    最近更新 更多