![](/img/trans.png)
[英]Get AD users’ manager and primary group that is associated with a user's manager
[英]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.