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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
param(
    $domaine,
    $user
    )
 
If($domaine){}Else{ Write-Host "`n Inscrivez un domaine `n"; Exit }
If($user){}Else{ Write-Host "`n Incrivez un user `n"; Exit }
 
$VerbosePreference = 'SilentlyContinue'
$erroractionpreference = 'SilentlyContinue'
 
Write-Host "Validation des groupes ... `n"
$GroupeNERC = Import-Csv "Groupe-Validation.csv"
Get-QADGroup -ContainsIndirectMember "$domaine\$user" -sizelimit 0 | sort | select Name | Export-Csv "D:\ValGroup.csv"
$file = "D:\ValGroup.csv"
$ValFileSize = Get-ChildItem $file | ForEach-Object { ($_.Length/1KB).tostring("0") }
If($ValFileSize -clt "1")
    {
    Write-Host "Le fichier $file ne contien aucune donné. `n $file $ValFileSize KB"; Exit
    }
 
$ValGroup = Import-Csv "D:\ValGroup.csv"
Foreach($NERCgrp in $GroupeNERC)
    {
    Foreach($Valgrp in $ValGroup)
        {
        If($NERCgrp.Groupe -eq $Valgrp.Name)
            {
            $GrpMatch = $NERCgrp.Groupe
            Write-Host "Le groupe identique d'après la liste initial est :" $NERCgrp.Groupe
            }
        }
    }
 
If($GrpMatch){}
    Else
        {
        Write-Host "Aucun groupe correspondant à la liste initial à été trouvé! `n Quitting ..."; Exit
        }
 
 
Write-Host "`n Recherche le groupe problématique ... `n"
Get-QADGroupMember $GrpMatch -Type "group" -Indirect | Select-Object Name | Export-Csv "D:\GetGrp-GrpMatch.csv"
Get-QADMemberOf "$domaine\$user" | Select-Object Name | Export-Csv "D:\GetGrp-User.csv"
$Grpmatch = Import-Csv "D:\GetGrp-GrpMatch.csv"
$Grpuser = Import-Csv "D:\GetGrp-User.csv"
Foreach($ValGrpmatch in $Grpmatch)
    {
    Foreach($ValGrpuser in $Grpuser)
        {
        if($ValGrpmatch.Name -match $ValGrpuser.Name)
            {
            Write-Host "L'utilisateur se trouve dans le groupe : " $ValGrpmatch.Name
            }
        }
    }
Mon script fonctionne correcte jusqu'à la deuxième partie. Si la recherche intial à deux entré, la variable $GrpMatch resort avec deux entrés il fait seulement la recherche pour une.

Est-ce qu'il a une façon de faire en sorte, que si la variable $GrpMatch trouve deux entré la commande :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Get-QADGroupMember $GrpMatch -Type "group" -Indirect | Select-Object Name | Export-Csv "D:\GetGrp-GrpMatch.csv"
Cherche pour les deux entrés trouvé et ensuite elle output dans un seul fichier CSV? ou je doit absolument la sortir dans deux fichiers séparer?

Merci!