Bonjour,

j'ai un petit souci d'index et de récursivité
je part de cela, mon besoin est d'obtenir un index unique et de pouvoir ressortir celui du groupe parent...

voici mon petit script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Set-Variable -Name Index -Value 0 -Scope Global
function Get-GroupMembership
{   
    [CmdletBinding()]   
    Param   
    (
        [Parameter (Mandatory=$true)]      
        [string]$User,      
        [int]$Index,      
        [int]$Nested = 0
    )
 $Nested++   
    foreach( $temp in (Get-ADPrincipalGroupMembership ($User) -ErrorAction SilentlyContinue))   
    {
    
    $Index++
        # $index++
     # $temp.Name+" => Dossier parent = $user | "+"   index = $index" #parent
        [int]$n=1       
        while ($n -lt $Nested)       
        {           
            $space+="`t"
            $n++
        }
         Write-Host $space $temp.Name+" | index = $index" #parent
            # $index++
        Get-GroupMembership -User $temp.SamAccountName -Nested $Nested  -Index $Index     
        $space=""
    }
    }
mon but en gros est de récupérer tous les groupes dont un utilisateurs est membre,
j'ai besoin pour chacun de ces groupes : de lui attribuer un index unique, d'identifier son nom et l'index de son groupe parent.

en gros :
pour un utilisateur User1 : membre de "service informatique" et "test"
service informatique membre de siege lui meme membre de all

user1
|
+- service informatique
| |
| L siege
| |
| L All
|
L- test

j'ai besoin d'avoir un resultat du type :

- $user=User1 / $index=0
- $user = Service info / $Index=1 / $Parent=0
- $user = Siege / $Index=2 / $Parent=1
- $user = All / $Index=3 / $Parent=2
- $user = test / $Index=4 / $Parent=1

-------------------------------------------------------
à l'heure actuelle la sortie ressemble à ça

- $user=User1 / $index=0
- $user = Service info / $Index=1 / $Parent=0
- $user = Siege / $Index=2 / $Parent=1
- $user = All / $Index=3 / $Parent=2
- $user = test / $Index=1 / $Parent=0

J’espère que c'est assez clair...
merci d'avance.