You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Get-AzTenant仅返回4个Azure租户?如何获取全部可访问租户

如何获取所有可访问的Azure租户

问题原因

Get-AzTenant 仅返回当前Azure PowerShell上下文已显式访问过,或你的账号在该租户中拥有RBAC权限的租户。而Azure门户展示的是你的账号所有关联的租户(包括通过Azure AD B2B邀请关联、仅拥有目录级访问权限的租户),因此两者数量会出现差异。

解决方案

要获取和门户一致的全量租户列表,推荐使用Microsoft Graph API,以下是具体实现方式:

方法1:使用Microsoft Graph PowerShell模块

  1. 安装所需模块:
Install-Module Microsoft.Graph.Identity.DirectoryManagement -Force
  1. 登录并获取所有租户:
# 登录时申请读取目录的权限
Connect-MgGraph -Scopes "Directory.Read.All"

# 获取所有关联租户的核心信息
Get-MgTenant | Select-Object Id, DisplayName, CountryLetterCode

方法2:调用Microsoft Graph REST API

适用于Python、C#等编程语言场景,发送GET请求到:

GET https://graph.microsoft.com/v1.0/organization

请求需携带有效访问令牌,权限要求为 Directory.Read.All 或 Organization.Read.All。返回结果会包含你账号关联的所有租户信息。

补充:基于Az模块的兼容方案

若必须使用Azure PowerShell模块,可先通过Graph获取全量租户ID,再逐个验证访问:

# 通过Graph获取所有租户列表
$allTenants = Get-MgTenant

foreach ($tenant in $allTenants) {
    try {
        # 尝试切换到目标租户上下文
        Connect-AzAccount -Tenant $tenant.Id -Force -ErrorAction Stop
        # 输出该租户信息
        Get-AzTenant -TenantId $tenant.Id
    }
    catch {
        Write-Warning "无法访问租户 [$($tenant.DisplayName)] ($($tenant.Id)): $_"
    }
}

此方式可获取租户基本信息,部分权限不足的租户会返回警告,但仍能拿到ID和名称,与门户展示一致。


内容的提问来源于stack exchange,提问作者MickyD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 06:05:31