获取具有特定经理的所有用户
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
我需要一个包含特定管理员的所有用户的列表。
这是我的:
$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