如何获取OU包含关键字的用户:已终止
在 Active Directory 中,我有“Ex Domain Users”文件夹,其中包括一堆文件夹。有四个文件夹具有“Terminated”关键字,我需要从中检索用户。
在我的 powershell 脚本中,我这样做:
$users = Get-ADUser -Filter * -SearchBase “OU=Terminated,OU=Ex Domain Users,DC=xxx,DC=local”;
$users += Get-ADUser -Filter * -SearchBase “OU=Terminated (ESA),OU=Ex Domain Users,DC=xxx,DC=local”;
$users += Get-ADUser -Filter * -SearchBase “OU=Terminated (Last week),OU=Ex Domain Users,DC=xxx,DC=local”;
$users += Get-ADUser -Filter * -SearchBase “OU=Terminated (Last month),OU=Ex Domain Users,DC=xxx,DC=local”;
我正在寻找一种表达方式,... -Searchbase "OU in ('%Terminated%'), ...")但找不到正确的语法或方法。任何帮助,将不胜感激。
问候。
回答
用于Get-ADOrganizationalUnit在调用Get-ADUser每个OU 之前枚举相关 OU :
$targetOUs = Get-ADOrganizationalUnit -Filter 'Name -like "*Terminated*"'
$users = $targetOUs |ForEach-Object {
Get-ADUser -Filter * -SearchBase $_.distinguishedName
}
请注意,默认情况下Get-AD*cmdlet 会执行subtree查询,但如有必要,您可以将范围限制为 OU 的直接子级:
Get-ADUser -SearchScope OneLevel ...