获取具有特定经理的所有用户

Get all users with a specific manager

我需要一个包含特定管理员的所有用户的列表。

这是我的:


    $manager = Get-user -Filter "UserPrincipalName -eq 'bert@contoso.com'"

    $reports = Get-User -Filter "manager eq '??????'"

    $reports | FL

但是我无法让它工作。此脚本将 运行 针对 O365 云环境。

我快速浏览了一下,找到了一个适合我自己的方法,我尝试根据您最初的设置来设计它的样式:

$manager = "Display name"

$reports = get-ADUser -filter * -Properties Manager |
select Name,samaccountname, @{n="ManagerName";e={get-aduser $_.manager | 
select -ExpandProperty name}}, @{n="ManagerEmail";e={get-aduser $_.manager -properties mail | 
select -ExpandProperty mail}} 


$reports | Where-Object {$_.ManagerName -like $manager} | fl

这将抓住您广告中的所有人,它将搜索 4 个主要属性:

Name

Samaccountname

ManagerName

ManagerEmail

这将抓取匹配管理员的用户列表,您可以更改:

{$_.ManagerName -like $manager}

{$_.ManagerEmail -like $manager}

如果您想改为通过电子邮件搜索。

除了输出到列表之外,您似乎没有对 $reports 做任何事情,在这种情况下它是多余的。理想情况下,您希望使用您拥有的任何标准预先过滤您的数据集。在这种情况下,您有特定的经理,但我猜您也可以更具体地说明要在其中搜索的 OU。:

Get-ADUser -LDAPFilter (|(Manager=[manager1 distinguishedname])(Manager=[manager2 distinguishedname])(Manager=[manager3 distinguishedname])) -SearchBase "OU=Users,DC=contoso,DC=com" -Properties Manager | Select Name, SAMAccountName, @{n="ManagerName";e={(Get-ADUser $_.Manager).Name}}, @{n="ManagerEmail";e={(Get-ADUser $_.Manager -properties email).email}} | FL