Powershell e DirectorySearch excluem OU

1

Eu tenho uma pergunta sobre como excluir uma OU específica ao executar esta instrução PS. Isso me dá todos os servidores no domínio. Eu gosto de excluir a OU chamada

OU=RETIRED,OU=SERVER,DC=ABCCORP,dc-com

Tentei alguma filtragem, mas sem sorte.

$ObjFilter = "(operatingsystem=*SERVER*)" 
$objSearch = New-Object System.DirectoryServices.DirectorySearcher 
$objSearch.PageSize = 15000 
$objSearch.Filter = $ObjFilter 
$objSearch.SearchRoot = "LDAP://dc=ABCCORP,dc=com"
$AllObj = $objSearch.FindAll() | Select-Object @{n='Name';e={$_.properties['name']}} 
    
por CWL 17.08.2012 / 20:46

1 resposta

2

Você pode canalizar o resultado da pesquisa para Where-Object e filtrar com base no caminho LDAP.

mudança:

$AllObj = $objSearch.FindAll() | Select-Object @{n='Name';e={$_.properties['name']}}

para:

$AllObj = $objSearch.FindAll() | Where {-not ($_.Path -match 'OU=RETIRED,OU=SERVER,DC=ABCCORP,dc=com')} | Select-Object @{n='Name';e={$_.properties['name']}}
    
por 17.08.2012 / 21:06

Tags