从命令行更改 Azure 目录

me-*_*e-- 12 command-line-interface azure az

我正在尝试az针对我的 Azure 帐户使用。我的帐户有两个目录:一个用于个人(默认)和一个用于企业。我需要“切换到”业务目录,以便可以az访问正确的资源。但是,我找不到通过命令行实现此目的的任何方法,因此当我这样做时,我会az group list从我的个人目录中看到资源组,而不是业务组。

如何从 CLI 切换 Azure 目录?

Mar*_*555 28

订阅和目录是不一样的。例如,您可以访问工作目录中的多个订阅。

要登录到不同的(非默认)目录,请使用--tenant带有az login命令的选项,传递目录的 FQDN,例如

az login --tenant yourdir.onmicrosoft.com
Run Code Online (Sandbox Code Playgroud)

列出目录时,可以在 Azure 门户中找到 FQDN。

登录目录后,您可以看到所有可用订阅的列表。

Azure 门户中的目录列表

  • 另请注意,您可能需要添加参数“--allow-no-subscriptions”,以防该目录没有订阅。因此,请像这样使用:“az login --tenant yourdir.onmicrosoft.com --allow-no-subscriptions”。例如,我们创建了 Azure AD B2C 目录,并且似乎需要此目录,但不确定原因。 (7认同)

Jho*_*los 7

# List of the tenants:
az account tenant list
[
  {
    "id": "/tenants/91358f27-xxxx-xxxxxxxxxxx",
    "tenantId": "91358f27-xxxx-xxxxxxxxxxx"
  },
  {
    "id": "/tenants/cf39b7bf-xxxx-xxxxxxxxxxx",
    "tenantId": "cf39b7bf-xxxx-xxxxxxxxxxx"
  }
]

# Select the tenant ID:
az login --tenant cf39b7bf-xxxx-xxxxxxxxxxx --allow-no-subscriptions

# Set a validated subscription:
az account set --subscription "Pago por uso"

# Verify
az account list -o table
Run Code Online (Sandbox Code Playgroud)


me-*_*e-- 1

呃,没关系。由于某种原因,当门户将它们称为目录时,CLI 将它们称为订阅。所以我需要az account set --subscription $SUBSCRIPTION_ID