【问题标题】:Connect-AzAccount Powershell on-premConnect-AzAccount Powershell 本地
【发布时间】:2020-02-15 12:34:26
【问题描述】:

我是 Azure 的新手,我已在我的 macOS 上成功安装了 PowerShell。现在我想运行 get-azvm 命令并从本地(不是云外壳)停止/删除一个 vm。

我从终端做的第一件事: 1. PWSH 启动 PowerShell 2. Connect-AzAccount,浏览器打开进行身份验证,出现错误:

Connect-AzAccount xx:需要设备身份验证。 跟踪 ID:xx 相关 ID:xx + CategoryInfo : CloseError: (:) [Connect-AzAccount], AadAuthenticationFailedException

  1. 我继续使用 az login 命令。结果: 您已登录。现在让我们查找您有权访问的所有订阅...

{ }

  1. 我运行:get-azvm 并得到另一个错误: get-azvm :在上下文中找不到订阅。请确保您提供的凭据有权访问 Azure 订阅,然后运行 ​​Connect-AzAccount 登录。 在 line:1 char:1

请问,我做错了什么?我需要在某处注册我的本地机器吗?

感谢您的帮助。

【问题讨论】:

  • 您是否为此身份启用了条件访问策略?

标签: azure powershell authentication command-line-interface


【解决方案1】:

如上述评论中所述 - 您可能在 Azure AD 上启用了条件访问策略,因此您可能需要检查并确认。 其次,如果不是这种情况,请在访问 azure 资源之前尝试运行以下命令

Add-AzAccount
Get-AzSubscription -SubscriptionId "your_azure_subscription_id" | Select-AzSubscription
$vm = Get-AzVM -ResourceGroupName "your_vm_resource_group_name" -Name "your_vm_name"

希望有帮助吗?

【讨论】:

  • 还有问题吗?它解决了你的问题吗?如果是,请接受。如果没有,请给出答复。
【解决方案2】:

根据Connect-AzAccount的错误,您的账号好像是MFA-enabled,请使用authentication methods进行身份验证。或者您可以创建一个服务主体assign a role for it in the subscription,然后您可以使用该服务主体登录并使用它来Get-AzVM,详细信息here

我继续使用 az login 命令。结果:您已登录。现在让我们查找您有权访问的所有订阅..

请注意,Connect-AzAccount 用于登录Azure Powershellaz login 用于登录Azure CLI,它们是不同的。从输出中可以看出,您已在 Azure CLI 中成功登录,您可以使用 az account set --subscription <subscription-id> 设置要从中获取 VM 的订阅,然后使用 az vm list 列出 VM。

【讨论】:

  • 您好,如果对您有帮助,请将其标记为答案,只需点击i.stack.imgur.com/LkiIZ.png之类的选项,非常感谢。:-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-26
  • 2020-02-15
  • 2020-11-19
  • 1970-01-01
  • 2022-11-01
  • 1970-01-01
相关资源
最近更新 更多