![](/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.