Question Créer un script pour liste les groupes et (surtout) les groupes hérités

Plus d'informations
il y a 1 an 6 mois #32625 par Laurent Dardenne
>>donc je pense que je boucle dans le vide.
je dirais qu'à priori tu veux absolument avoir un résultat, tu ne tiens pas compte de ce que je t'ai dit :
>>Dans un premier temps simplifie ta démarche en retirant les opérations inutiles,

Regarde ce cmdlet .

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 an 6 mois #32627 par POYET
Je n'ai pas précisé un élément mais l'usage du script est professionnel et doit permettre à n'importe quel utilisateur du script de pouvoir rentrer le nom du user souhaité d'ou la première partie qui peut sembler un peu lourde mais nécessaire afin de pouvoir nommer le user.

J'ai déjà vu le lien que tu m'as indiqué mais ça n'a pas donné ce qu'il fallait afin de pouvoir déterminer et peaufiner ma recherche sur les sous groupes.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 an 6 mois #32628 par Laurent Dardenne
Une fois le nom de cmdlet connu recherche sur le net.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 an 6 mois #32632 par POYET
Bonjour,

J'ai un peu avancé dans mes démarches, voici mon script actuel:

< #Get all recursive groups a user belongs.
Function Get-ADUserNestedGroups
{
Param
(
[string]$DistinguishedName,
[array]$Groups = @()
)

#Get the AD object, and get group membership.
$ADObject = Get-ADObject -Filter "DistinguishedName -eq '$DistinguishedName'" -Properties memberOf, DistinguishedName;

#If object exists.
If($ADObject)
{
#Enummurate through each of the groups.
Foreach($GroupDistinguishedName in $ADObject.memberOf)
{
#Get member of groups from the enummerated group.
$CurrentGroup = Get-ADObject -Filter "DistinguishedName -eq '$GroupDistinguishedName'" -Properties memberOf, DistinguishedName;

#Check if the group is already in the array.
If(($Groups | Where-Object {$_.DistinguishedName -eq $GroupDistinguishedName}).Count -eq 0)
{
#Add group to array.
$Groups += $CurrentGroup;

#Get recursive groups.
$Groups = Get-ADUserNestedGroups -DistinguishedName $GroupDistinguishedName -Groups $Groups;
}
}
}

#Return groups.
Return $Groups;
}

#The user to check.
$User = "<SamAccountName/DN/UserPrincipal>";

#Get all groups.
$Groups = Get-ADUserNestedGroups -DistinguishedName (Get-ADUser -Identity $User).DistinguishedName;

#Output all groups.
$Groups | Select-Object Name | Sort-Object -Property Name; >

Maintenant je souhaiterais ressortir le résultat en un fichier texte et peux être simplifier mon script.
A savoir qu'actuellement le script met du temps à ressortir les résultats et je ne sais pas si je peux accélérer le processus.

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.071 secondes
Propulsé par Kunena