Question
AD - Extraction des groupes des utilisateurs
- COTTIN
- Auteur du sujet
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 84
- Remerciements reçus 0
il y a 5 ans 1 mois #29457
par COTTIN
AD - Extraction des groupes des utilisateurs a été créé par COTTIN
Bonjour,
Je vous expose ma problématique, nous sommes soumis au RGPD et nous cherchons à extrait tous nos comptes utilisateurs présent sur notre AD ainsi que les groupes associés.
voici ma ligne de commande :
[code:1]
get-aduser -Filter {enabled -eq $true} -Properties MemberOf | SELECT Name, SamAccountName, @{ Label='Nbre Groupe'; Expression={ ($_.MemberOf).count } } | Export-CSV E:\Script\Fichier_test.csv
[/code:1]
Cette lignes mes sort uniquement le nombres de groupes présent sur le compte, est-il possible de modifier cette commande afin quelle m'affiche le nom des groupe lié au compte ?
Merci de votre futur aide .
Je vous expose ma problématique, nous sommes soumis au RGPD et nous cherchons à extrait tous nos comptes utilisateurs présent sur notre AD ainsi que les groupes associés.
voici ma ligne de commande :
[code:1]
get-aduser -Filter {enabled -eq $true} -Properties MemberOf | SELECT Name, SamAccountName, @{ Label='Nbre Groupe'; Expression={ ($_.MemberOf).count } } | Export-CSV E:\Script\Fichier_test.csv
[/code:1]
Cette lignes mes sort uniquement le nombres de groupes présent sur le compte, est-il possible de modifier cette commande afin quelle m'affiche le nom des groupe lié au compte ?
Merci de votre futur aide .
Connexion ou Créer un compte pour participer à la conversation.
- Guillaume
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 116
- Remerciements reçus 0
il y a 5 ans 1 mois #29463
par Guillaume
Réponse de Guillaume sur le sujet Re:AD - Extraction des groupes des utilisateurs
Bonjour,
Là, tu demandes le nombre de groupe avec :
@{ Label='Nbre Groupe'; Expression={ ($_.MemberOf).count }
Si tu veux que les noms, enlève le fait de compter les groupes.<br><br>Message édité par: Guillaume_F, à: 21/11/19 16:02
Là, tu demandes le nombre de groupe avec :
@{ Label='Nbre Groupe'; Expression={ ($_.MemberOf).count }
Si tu veux que les noms, enlève le fait de compter les groupes.<br><br>Message édité par: Guillaume_F, à: 21/11/19 16:02
Connexion ou Créer un compte pour participer à la conversation.
- Halouc
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 6
- Remerciements reçus 0
il y a 5 ans 1 mois #29474
par Halouc
Réponse de Halouc sur le sujet Re:AD - Extraction des groupes des utilisateurs
[code:1] get-aduser -Filter {enabled -eq $true} -Properties MemberOf | SELECT Name, SamAccountName, @{ Label='Nbre Groupe'; Expression={ $_.MemberOf -join \", \" } } | Export-CSV E:\Script\Fichier_test.csv[/code:1]
Par contre tu n'as pas la liste de tous les groupes car memberof n'affiche pas les groupes de façon récursive.
Par exemple :
L'utilisateur toto est membre du groupe \"adminsWindows\" et le groupe est membre du groupe \"informatique\". L'attribut memberof n'affichera que \"adminsWindows\" et pas \"informatique\".
Pour avoir tous les groupes d'un utilisateur :
[code:1]$sam = toto
$u = get-aduser -ldapfilter \"(samaccountname=$sam)\"
Get-ADObject -LDAPFilter \"(member:1.2.840.113556.1.4.1941:=$($u.DistinguishedName))\"[/code:1]
Plus d'infos ici :
docs.microsoft.com/fr-fr/windows/win32/a...?redirectedfrom=MSDN
Par contre tu n'as pas la liste de tous les groupes car memberof n'affiche pas les groupes de façon récursive.
Par exemple :
L'utilisateur toto est membre du groupe \"adminsWindows\" et le groupe est membre du groupe \"informatique\". L'attribut memberof n'affichera que \"adminsWindows\" et pas \"informatique\".
Pour avoir tous les groupes d'un utilisateur :
[code:1]$sam = toto
$u = get-aduser -ldapfilter \"(samaccountname=$sam)\"
Get-ADObject -LDAPFilter \"(member:1.2.840.113556.1.4.1941:=$($u.DistinguishedName))\"[/code:1]
Plus d'infos ici :
docs.microsoft.com/fr-fr/windows/win32/a...?redirectedfrom=MSDN
Connexion ou Créer un compte pour participer à la conversation.
- rhiwotar
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 111
- Remerciements reçus 2
il y a 5 ans 1 mois #29486
par rhiwotar
Réponse de rhiwotar sur le sujet Re:AD - Extraction des groupes des utilisateurs
J'utilise ça au travail, j'ai découvert qu'il lui arrivais de rater des éléments mais dans l'ensemble, il fait le taf.
Si jamais quelqu'un a une idée d’amélioration, je prend volontiers
[code:1] $SousGroupe = $SousGroupe.Substring(0,$SousGroupe.Length-$cut.Length)
}
else{
##renseigne temporairement les infos de ListeMembre
$temp = New-Object System.Object
##Complete la ListeMembre
$temp | Add-Member -MemberType NoteProperty -Name \"Racine\" -value $PremierGroupe
if($SousGroupe -like $null){
$temp | Add-Member -MemberType NoteProperty -Name \"SousGroupe\" -value \"-\"
}
else{
$temp | Add-Member -MemberType NoteProperty -Name \"SousGroupe\" -value $SousGroupe
}
$temp | Add-Member -MemberType NoteProperty -Name \"utilisateur\" -value $Membre.name
##Si le SID correspond au domaine (le domaine correspond a celui du serveur executant le script)
try{
##recupere si le compte est actif et sa date de derniere connexion
$UserSID = get-aduser $membre.sid -Properties lastlogondate
$temp | Add-Member -MemberType NoteProperty -Name \"compte actif\" -value $UserSID.enabled
$temp | Add-Member -MemberType NoteProperty -Name \"derniere connexion\" -value $UserSID.lastlogondate
}
catch{
## indique que l'utilisateur n'est pas dans le domaine
$temp | Add-Member -MemberType NoteProperty -Name \"compte actif\" -value \"Hors du domaine\"
$temp | Add-Member -MemberType NoteProperty -Name \"derniere connexion\" -value \"Hors du domaine\"
}
#ajoute l'objet à la collection
$ListeMembre.Add($temp) | Out-Null
##Ligne de test
Write-Host $PremierGroupe \" \" $SousGroupe \" \" $membre.name
}
}
}
$ListeMembre = New-Object System.Collections.ArrayList
$PremierGroupe = read-host
$MembrePremierGroupe = Get-ADGroupMember $PremierGroupe
ListeGroupeAD($MembrePremierGroupe)
$ListeMembre|sort utilisateur|ft
#$ListeMembre|sort utilisateur|Export-Csv -Delimiter \";\" -Path \"c:\ListeMembreGroupe.csv\"
[/code:1]
Si jamais quelqu'un a une idée d’amélioration, je prend volontiers
[code:1] $SousGroupe = $SousGroupe.Substring(0,$SousGroupe.Length-$cut.Length)
}
else{
##renseigne temporairement les infos de ListeMembre
$temp = New-Object System.Object
##Complete la ListeMembre
$temp | Add-Member -MemberType NoteProperty -Name \"Racine\" -value $PremierGroupe
if($SousGroupe -like $null){
$temp | Add-Member -MemberType NoteProperty -Name \"SousGroupe\" -value \"-\"
}
else{
$temp | Add-Member -MemberType NoteProperty -Name \"SousGroupe\" -value $SousGroupe
}
$temp | Add-Member -MemberType NoteProperty -Name \"utilisateur\" -value $Membre.name
##Si le SID correspond au domaine (le domaine correspond a celui du serveur executant le script)
try{
##recupere si le compte est actif et sa date de derniere connexion
$UserSID = get-aduser $membre.sid -Properties lastlogondate
$temp | Add-Member -MemberType NoteProperty -Name \"compte actif\" -value $UserSID.enabled
$temp | Add-Member -MemberType NoteProperty -Name \"derniere connexion\" -value $UserSID.lastlogondate
}
catch{
## indique que l'utilisateur n'est pas dans le domaine
$temp | Add-Member -MemberType NoteProperty -Name \"compte actif\" -value \"Hors du domaine\"
$temp | Add-Member -MemberType NoteProperty -Name \"derniere connexion\" -value \"Hors du domaine\"
}
#ajoute l'objet à la collection
$ListeMembre.Add($temp) | Out-Null
##Ligne de test
Write-Host $PremierGroupe \" \" $SousGroupe \" \" $membre.name
}
}
}
$ListeMembre = New-Object System.Collections.ArrayList
$PremierGroupe = read-host
$MembrePremierGroupe = Get-ADGroupMember $PremierGroupe
ListeGroupeAD($MembrePremierGroupe)
$ListeMembre|sort utilisateur|ft
#$ListeMembre|sort utilisateur|Export-Csv -Delimiter \";\" -Path \"c:\ListeMembreGroupe.csv\"
[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.112 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- AD - Extraction des groupes des utilisateurs