繁体   English   中英

使用特定经理获取所有用户

[英]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

这将抓住您 AD 中的每个人,它将搜索 4 个主要属性:

姓名

账号名称

经理姓名

经理邮箱

这将获取与经理匹配的用户列表,您可以更改:

{$_.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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM