Sto tentando di elencare tutti in un gruppo di sicurezza in una directory attiva senza utilizzare CmdLets in PowerShell. La cosa strana con il mio script è che funziona se elenco l'intera directory ma se provo a specificare con una query ldap cosa voglio essere elencato non funziona. So che la mia domanda di LDAP è corretta perché l'ho usata in un altro vbs simile e funziona. Le righe commentate sono dove ho provato a inserire la query.Elenco degli utenti nel gruppo di annunci in modo ricorsivo con lo script PowerShell senza CmdLets
$strFilter = "(&(objectCategory=person)(objectClass=user))"
#$strFilter = "(&(objectCategory=person)(objectClass=user)(memberOf=CN=Common Name,OU=User Groups,...,DC=ad,DC=domain,DC=com))" #... is just left out part of query
#$objDomain = New-Object System.DirectoryServices.DirectoryEntry
$objDomain = New-Object System.DirectoryServices.DirectoryEntry("LDAP://CN=Common Name,OU=User Groups,...,DC=ad,DC=domain,DC=com") #... is just left out part of query
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = $objDomain
$objSearcher.PageSize = 1000
$objSearcher.Filter = $strFilter
$objSearcher.SearchScope = "Subtree"
$colProplist = "name"
foreach ($i in $colPropList){$objSearcher.PropertiesToLoad.Add($i)}
$colResults = $objSearcher.FindAll()
foreach ($objResult in $colResults)
{$objItem = $objResult.Properties; $objItem.name}
Perché non è possibile utilizzare i cmdlet? È come dire "Voglio programmare qualcosa in C# senza usare metodi". – JNK
Le persone suggeriscono che dovrei installare e voglio che venga eseguito su qualsiasi computer con solo lo script. – yoyomommy
I CmdLets sono disponibili con il modulo di directory attivo in PowerShell 2.0. – JPBlanc