我们正在将 Azure Active Directory 与本地 AD 混合使用。
我正在尝试从 Azure AD 帐户获取“manager”和“companyName”属性,这些帐户在本地 Active Directory 中不存在。
我试图获取的属性是空的,但它们显示在“Microsoft Entra ID”GUI 上。
我正在使用 PowerShell(Get-AzADUser) 和模块 AZ,我也直接尝试了 GraphAPI,没有结果。
请注意,如果该用户没有在“Microsoft Entra ID”GUI 上更新这些属性值,您将不会在 PowerShell 响应中获得这些属性。
我有一个名为
Sridevi
的 Azure AD 用户,其 companyName 和 Manager 属性如下:
最初,我通过运行以下 PowerShell 命令以
User.Read.All
权限连接到 Microsoft Graph:
Connect-MgGraph -Scopes "User.Read.All"
回复:
现在,我使用下面的脚本通过 PowerShell 获取用户的 companyName 和 Manager 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}}
回复:
您可以使用下面的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}}
}
回复: