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.
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 } } }
Est-ce qu'il a une façon de faire en sorte, que si la variable $GrpMatch trouve deux entré la commande :
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?
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"
Merci!
Partager