Question
Compter les utilisateurs dans chaque groupes AD
- Burgun
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 40
- Remerciements reçus 0
il y a 16 ans 6 mois #5316
par Burgun
Compter les utilisateurs dans chaque groupes AD a été créé par Burgun
Bonjour,
Je cherche à comptabiliser le nombre d'utilisateur dans chaque groupe qui compose un annuaire AD.
Le but étant de repérer des les groupes ceux qui contiennent un certains nombre de user
Pour le moment je n'ai pas été très loin
[code:1]
#Je récupere tous les groupes
$ldapQuery = \"(&(objectCategory=group))\"
$de = new-object system.directoryservices.directoryentry
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$listgroup = $ads.findall()
$listgroup
#pour chaque groupe je liste les users
foreach ($member in $listgroup) {
}[/code:1]
je me suis basé sur un bout de code trouvé ici. Ce que je ne sais pas c'est quelle requête rentrée pour lister les users de chaque groupe.
Si quelqu'un peut m'aider<br><br>Message édité par: bvivi57, à: 18/09/09 10:14
Je cherche à comptabiliser le nombre d'utilisateur dans chaque groupe qui compose un annuaire AD.
Le but étant de repérer des les groupes ceux qui contiennent un certains nombre de user
Pour le moment je n'ai pas été très loin
[code:1]
#Je récupere tous les groupes
$ldapQuery = \"(&(objectCategory=group))\"
$de = new-object system.directoryservices.directoryentry
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$listgroup = $ads.findall()
$listgroup
#pour chaque groupe je liste les users
foreach ($member in $listgroup) {
}[/code:1]
je me suis basé sur un bout de code trouvé ici. Ce que je ne sais pas c'est quelle requête rentrée pour lister les users de chaque groupe.
Si quelqu'un peut m'aider<br><br>Message édité par: bvivi57, à: 18/09/09 10:14
Connexion ou Créer un compte pour participer à la conversation.
- Alexandre
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 1
- Remerciements reçus 0
il y a 10 ans 1 mois #21508
par Alexandre
Réponse de Alexandre sur le sujet Re:Compter les utilisateurs dans chaque groupes AD
Bonjour !
Je débute encore mais il me semble que pour lister, des commandes toutes simples peuvent convenir.
Si tu veux lister les résultats dans un seul fichier texte, tu peux écrire, dans ton bloc ForEach:
$file = new-item \"C:\dossier\NomDeTonFichier.txt\" –type file
//Ce qui créera le fichier, puis:
$fichier = \"C:\dossier\NomDeTonFichier.txt\"
/*pour mettre le chemin d'accès dans une variable, afin d'éviter de devoir la retaper à chaque fois, et*/
ADD-content -path $fichier -value \"cequetuveuxécrire\"
/*Pour rajouter la ligne \"cequetuveuxécrire\" dans ton fichier \"NomDeTonFichier.txt\" accessible depuis $fichier. */
__________________________________________________
Il me semblerait logique qu'en \"bricolant\" le principe, tu puisse remplacer \"LeTexteÀRajouter\" par $LaVariable, comme $Member (pour ton exemple), et (pour le début de mon post) tu puisse remplacer \"NomDeTonFichier.txt\" par \" \"$listgroup\".txt \" (si, effectivement, listgroup doit contenir un nom, dans ton script).
Après, comme je te l'ai dit, je début et j'ai l'habitude de bricoler avec une logique de Pseudo-Code (notamment en Batch qui est 100x plus simple à utiliser, mais 100x moins efficace ^^' !!!!) .
Je te mets les 2 liens où j'ai trouvé les infos, je suis tombé sur ta question en cherchant un truc similaire x)
www.labo-microsoft.org/scripts/23993/
www.macintom.com/wp/2012/07/03/powershel...ns-un-fichier-texte/
J'espère que ça pourra t'aider (
) et je te souhaite de passer une bonne journée !!
Je débute encore mais il me semble que pour lister, des commandes toutes simples peuvent convenir.
Si tu veux lister les résultats dans un seul fichier texte, tu peux écrire, dans ton bloc ForEach:
$file = new-item \"C:\dossier\NomDeTonFichier.txt\" –type file
//Ce qui créera le fichier, puis:
$fichier = \"C:\dossier\NomDeTonFichier.txt\"
/*pour mettre le chemin d'accès dans une variable, afin d'éviter de devoir la retaper à chaque fois, et*/
ADD-content -path $fichier -value \"cequetuveuxécrire\"
/*Pour rajouter la ligne \"cequetuveuxécrire\" dans ton fichier \"NomDeTonFichier.txt\" accessible depuis $fichier. */
__________________________________________________
Il me semblerait logique qu'en \"bricolant\" le principe, tu puisse remplacer \"LeTexteÀRajouter\" par $LaVariable, comme $Member (pour ton exemple), et (pour le début de mon post) tu puisse remplacer \"NomDeTonFichier.txt\" par \" \"$listgroup\".txt \" (si, effectivement, listgroup doit contenir un nom, dans ton script).
Après, comme je te l'ai dit, je début et j'ai l'habitude de bricoler avec une logique de Pseudo-Code (notamment en Batch qui est 100x plus simple à utiliser, mais 100x moins efficace ^^' !!!!) .
Je te mets les 2 liens où j'ai trouvé les infos, je suis tombé sur ta question en cherchant un truc similaire x)
www.labo-microsoft.org/scripts/23993/
www.macintom.com/wp/2012/07/03/powershel...ns-un-fichier-texte/
J'espère que ça pourra t'aider (
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 10 ans 1 mois #21509
par Philippe
Réponse de Philippe sur le sujet Re:Compter les utilisateurs dans chaque groupes AD
bonjour bvivi57
@Lokhtor : je crois que tu a fait un mauvais copié/collé !!
avant de de donné une réponse peut tu me dire si tu utilise un serveur ad sous 2008R2 ou plus récent !
idem pour ton poste a tu Windows 7 sp1 ou plus récent !
si les deux réponse sont egale ou superrieur au valeur demandé ou au moins le serveur AD alors tu pourra utilisé les commandes AD de powershell plus simple a utilisé !!
Microsoft fourni un module AD sur leur site , te pourra le téléchargé et surtout trouvé les instruction d'installation à effectué pour utilisé ce module
tu trouvera aussi sur ce site un petit guide en anglais pour l'installation du module AD sur différentes version de Windows
et enfin si tu peut utilisé le module AD tu pourra utilisé ceci
:
[code:1]Get-ADGroup -Filter \"name -like '*'\" | foreach {
$nomgroupe = $_.name
[string[]]$listemembres = Get-ADGroupMember $nomgroupe | foreach {$_.name}
if ($listemembres -eq $null) {$nombre = 0} else {$nombre = $listemembres.count}
\"\" | select @{n=\"Groupe\";e={$nomgroupe}}, @{n=\"Nombre\";e={$nombre}}
}
[/code:1]
@Lokhtor : je crois que tu a fait un mauvais copié/collé !!
avant de de donné une réponse peut tu me dire si tu utilise un serveur ad sous 2008R2 ou plus récent !
idem pour ton poste a tu Windows 7 sp1 ou plus récent !
si les deux réponse sont egale ou superrieur au valeur demandé ou au moins le serveur AD alors tu pourra utilisé les commandes AD de powershell plus simple a utilisé !!
Microsoft fourni un module AD sur leur site , te pourra le téléchargé et surtout trouvé les instruction d'installation à effectué pour utilisé ce module
tu trouvera aussi sur ce site un petit guide en anglais pour l'installation du module AD sur différentes version de Windows
et enfin si tu peut utilisé le module AD tu pourra utilisé ceci
[code:1]Get-ADGroup -Filter \"name -like '*'\" | foreach {
$nomgroupe = $_.name
[string[]]$listemembres = Get-ADGroupMember $nomgroupe | foreach {$_.name}
if ($listemembres -eq $null) {$nombre = 0} else {$nombre = $listemembres.count}
\"\" | select @{n=\"Groupe\";e={$nomgroupe}}, @{n=\"Nombre\";e={$nombre}}
}
[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.045 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Compter les utilisateurs dans chaque groupes AD