1

在 Active Directory 中,我有“Ex Domain Users”文件夹,其中包括一堆文件夹。有四个文件夹具有“终止”关键字,我需要从中检索用户。

在我的 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%'), ...")但我找不到正确的语法或方法。任何帮助,将不胜感激。

问候。

4

1 回答 1

5

用于在调用每个Get-ADOrganizationalUnitOU 之前枚举相关的 OU :Get-ADUser

$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 ...
于 2021-07-19T15:20:08.753 回答