Powershell Active Directory类似的过滤器如何工作?

时间:2014-08-22 09:13:52

标签: powershell active-directory

您好,我根本不了解PowerShell的工作方式。

这一行给出了1条记录:

Get-ADGroup -Filter {DistinguishedName -eq "CN=Development,CN=Users,DC=mycompany,DC=it"}

但是这一个:

Get-ADGroup -Filter {DistinguishedName -like "*Development*"}

不会返回任何内容。它有什么问题?

1 个答案:

答案 0 :(得分:2)

专有名称不能与LDAP进行外卡匹配,这是-Filter将在内部翻译的内容。

这就是为什么你没有看到任何结果

您可以检索名称中包含“开发”的所有OU,并全部搜索:

$ADGroups = @()
$DevOUs = Get-ADOrganizationalUnit -Filter {name -like "*ex*"}| Select-Object DistinguishedName

foreach($ou in $DevOUs)
{
    $DN = $ou.DistinguishedName
    foreach($Group in (Get-ADGroup -SearchBase $DN))
    {
        # Prevent duplicates
        if($ADGroups -notcontains $Group)
        { $ADGroups += $Group }
    }
}