【问题标题】:Using PowerShell to generate report of all AD users with Manager使用 PowerShell 通过 Manager 生成所有 AD 用户的报告
【发布时间】:2018-02-13 15:30:48
【问题描述】:

请多多包涵。我没有使用 AAD/PS 的经验。

我只是在尝试生成用户及其经理的列表。

我所做的是这样的:

$UserId = (Get-AzureADUser -All $true).ObjectId
$bla = foreach ($User in $UserId)
    {
        write-output $User
        Get-AzureADUserManager -ObjectId $User
    }
$bla | Out-File "C:\Temp\Test.txt"

我用用户 ObjectId 填充 $UserId,然后为该用户用户搜索管理器 Get-AzureADUserManager。

如何更改它以生成包含以下数据的列表:

UsersObjectId UserUPN UserType ManagersObjectId ManagerUPN ManagerUserType

我还希望它包含所有没有设置任何管理器的 UserObjectId(包括 null)。

任何想法如何实现这一目标?

【问题讨论】:

    标签: azure azure-active-directory azure-powershell


    【解决方案1】:

    这应该做你想做的:

    $output = @()
    
    $users = Get-AzureADUser -All $true
    
    foreach ($user in $users) {
        $manager = Get-AzureADUserManager -ObjectId $user.ObjectId
    
        $data = New-Object -TypeName psobject
    
        $data | Add-Member -MemberType NoteProperty -Name UsersObjectId -Value $user.ObjectId
        $data | Add-Member -MemberType NoteProperty -Name UserUPN -Value $user.UserPrincipalName
        $data | Add-Member -MemberType NoteProperty -Name UserType -Value $user.UserType
        $data | Add-Member -MemberType NoteProperty -Name ManagersObjectId -Value $manager.ObjectId
        $data | Add-Member -MemberType NoteProperty -Name ManagerUPN -Value $manager.UserPrincipalName
        $data | Add-Member -MemberType NoteProperty -Name ManagerUserType -Value $manager.UserType
    
        $output += $data
    
    }
    
    $output | Export-Csv -Path output.csv -NoTypeInformation
    

    它将创建一个 CSV 文件,其中的列与您要查找的数据相同,其中每一行代表原始查询中的用户。

    如果Get-AzureADUserManager 返回 null,这也有效。

    【讨论】:

    • 真棒 + 只需在 Get-AzureADUser -All 中包含 $true ,它就像一个魅力。现在我更好地理解了这一点并且可以扩展,谢谢肖恩!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    • 1970-01-01
    • 2020-02-17
    • 1970-01-01
    相关资源
    最近更新 更多