Liste des utilisateurs du groupe d'annonces de manière récursive avec le script powershell sans CmdLets
Je suis en train de liste de tout le monde dans un groupe de sécurité active directory sans utiliser les Applets de commande PowerShell. La chose bizarre avec mon script est qu'il fonctionne si je la liste l'ensemble du répertoire, mais si j'essaie de le spécifier à l'aide d'une requête ldap ce que je veux être énumérés, il ne fonctionne pas. Je sais que ma requête ldap est correct parce que je l'ai utilisé dans un autre semblable, vbs et il fonctionne. Les lignes commentées sont où j'ai essayé de mettre dans la requête.
$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}
source d'informationauteur yoyomommy
Vous devez vous connecter pour publier un commentaire.
Ici est quelque chose à travailler dans un Active Directory 2003 SP2 et 2008 R2. J'ai utiliser ADSI et Microsoft LDAP_MATCHING_RULE_IN_CHAIN. Il Recherche récursive (mais dans une seule requête) tous les utilisateurs à partir d'un groupe (attention à ce qu'il revienne utilisateurs de la sécurité et des distributions de groupe)
Cela permettra d'obtenir tous les membres du groupe Administrateurs de domaine, y compris les membres imbriqués (nécessite .NET 3.5).
Tant que vous savez le nom du groupe, vous pouvez exécuter les opérations suivantes (laid) quasi-one-liner:
Aussi depuis que vous avez rarement l'un sans l'autre, je vais aussi inclure le moyen de la liste de tous les groupes d'un utilisateur en utilisant la même approche de base:
Ces deux requêtes de votre domaine actuel et ne nécessitent pas de n'importe quel domaine de qualification, et ils ne nécessitent pas des modules ou des bibliothèques supplémentaires seront installés. Je me suis aussi trouver de travail dans une jolie vanille de l'environnement, de temps en temps avec un minimum d'autorisations d'où j'ai besoin de rechercher dans les ANNONCES, et je trouve ces deux commandes de m'aider un peu.