Azure AD 属性查询不会生成现有数据

问题描述 投票:0回答:1

我们正在将 Azure Active Directory 与本地 AD 混合使用。

我正在尝试从 Azure AD 帐户获取“manager”和“companyName”属性,这些帐户在本地 Active Directory 中不存在。

我试图获取的属性是空的,但它们显示在“Microsoft Entra ID”GUI 上。

我正在使用 PowerShell(Get-AzADUser) 和模块 AZ,我也直接尝试了 GraphAPI,没有结果。

问题是这些属性应该来自 AD 本地同步吗? 有没有办法解决这个问题?

azure powershell azure-active-directory active-directory
1个回答
0
投票

请注意,如果该用户没有在“Microsoft Entra ID”GUI 上更新这些属性值,您将不会在 PowerShell 响应中获得这些属性

我有一个名为

Sridevi
的 Azure AD 用户,其 companyNameManager 属性如下:

enter image description here

最初,我通过运行以下 PowerShell 命令以

User.Read.All
权限连接到 Microsoft Graph:

 Connect-MgGraph -Scopes "User.Read.All"

回复:

enter image description here

现在,我使用下面的脚本通过 PowerShell 获取用户的 companyNameManager properties

$user = Get-MgUser -UserId "userId" -ExpandProperty "Manager" -Property "displayName, companyName, manager"

$manager = $user.manager
$managerName = $null

if ($manager -ne $null) {
    $managerDetails = Get-MgUser -UserId $manager.id -Property "displayName"
    $managerName = $managerDetails.displayName
}

$user | Select-Object displayName, companyName, @{Name="ManagerName"; Expression={$managerName}}

回复:

enter image description here

您可以使用下面的modified脚本来获取所有Azure AD用户的相同属性:

$allUsers = Get-MgUser -All -ExpandProperty "Manager" -Property "displayName, companyName, manager"

foreach ($user in $allUsers) {
    $manager = $user.manager
    $managerName = $null

    if ($manager -ne $null -and $manager.id -ne $null) {
        $managerDetails = Get-MgUser -UserId $manager.id -Property "displayName"
        $managerName = $managerDetails.displayName
    }

    $user | Select-Object displayName, companyName, @{Name="ManagerName"; Expression={$managerName}}
}

回复:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.