我的问题是:不使用powershell命令可以获得azure活动目录租户id吗?

我找到了这两个博客,有了这个帮助,我已经能够从powershell获得租户ID和订阅ID。这是找回房客的唯一方法吗?

在Windows PowerShell中获取Windows Azure活动目录租户ID

Windows Azure AD认证支持PowerShell

谢谢


当前回答

xxx@Azure:~$ az ad sp create-for-rbac
Retrying role assignment creation: 1/36
{
  "appId": "401143c2-95ef-4792-9900-23e07f7801e7",
  "displayName": "azure-cli-2018-07-10-20-31-57",
  "name": "http://azure-cli-2018-07-10-20-31-57",
  "password": "a0471d14-9300-4177-ab08-5c45adb3476b",
  "tenant": "e569f29e-b008-4cea-b6f0-48fa8532d64a"
}

其他回答

以下答案来自微软网站,最后更新日期为2018年3月21日:

https://learn.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal

简而言之,以下是攻略的截图:

选择Azure Active Directory。

要获取租户ID,请为Azure AD租户选择Properties。

复制目录ID。这个值是您的租户ID。

希望这能有所帮助。

进入Azure门户> Azure活动目录。 在主屏幕上,您应该看到您的租户ID。

从Java:

public static String GetSubscriptionTenantId (String subscriptionId) throws ClientProtocolException, IOException
{
    String tenantId = null;
    String url = "https://management.azure.com/subscriptions/" + subscriptionId + "?api-version=2016-01-01";

    HttpClient client = HttpClientBuilder.create().build();
    HttpGet request = new HttpGet(url);
    HttpResponse response = client.execute(request);

    Header[] headers = response.getAllHeaders();
    for (Header header : headers)
    {
        if (header.getName().equals("WWW-Authenticate"))
        {
            // split by '"' to get the URL, split the URL by '/' to get the ID
            tenantId = header.getValue().split("\"")[1].split("/")[3];
        }
    }

    return tenantId;
}

使用Azure门户:

步骤1:登录azure门户,搜索azure Active Directory并选择它。 Step2:在Azure Active Directory的概览页面中,找到租户ID。

使用Azure CLI:

使用命令az login、az account list或az account tenant list。在每个命令的输出中为每个订阅查找TenantId属性。

使用Powershell

在powershell cmdlet中使用以下命令。

Connect-AzAccount
Get-AzTenant

参考:

Azure CLI

Get-Aztenant

您可以运行一个简单的curl调用来获得azure订阅的租户id,而无需任何身份验证。

做一个卷曲调用:

https://management.azure.com/subscriptions/{订阅id} ? api版本= 2015-01-01

请求失败,但您将能够从响应报头中获得租户id。租户id出现在一行中,后面跟着“WWW-Authenticate: holder authorization_uri="https://login.windows.net/"

您可以使用curl -v来显示响应头。