J'essaye de faire une liste de tous les groupes qui contiennent des membres d'une unité d'organisation spécifique. Pour ce faire, je suis en train de lire un fichier avec la liste de tous les noms de groupes et en utilisant get-ADGroupMember $ groupName pour trouver les membres de chaque groupe. Je convertis la valeur de chaque membre en chaîne et en la comparant à $ member.indexOf ("OU spécifique"). Le problème est que je n'ai pas compris comment obtenir $ member [$ i] .indexOf ("OU spécifique"). Mon code est ci-dessous.Comment faire une boucle sur les membres du groupe Active Directory dans Powershell
EDIT: Si j'utilise une boucle for-each, je peux parcourir les membres correctement, mais je ne peux pas utiliser le break, ce qui empêche les doublons.
Import-Module ActiveDirectory
#declaring end result group array
$results = @()
#sets path for files
$pathName = $MyInvocation.MyCommand.Path
$pathLen = $pathName.LastIndexOf("\")
$pathStr = $PathName.Substring(0,$pathLen +1)
$APgroupFile = $pathStr + "APGroups.csv"
$groupFile = $pathStr + "GGroups.csv"
#gets the list of group names and loops through them
get-content $groupFile | foreach-object{
#sets all of the group names
#start of if1
if($_.IndexOf("CN=") -ge 0){
$nameStart = $_.IndexOf("CN=")+3
$nameEnd = $_.indexOf(",")-$nameStart
$name = $_.substring($nameStart, $nameEnd)
#issue starts here
#goal is to find member of "specific OU".
#If found, add group to $results. If not, go to next group
$members = get-ADGroupMember -Identity $name
if($members.length -gt 0){
$i=0
for($i=0; $i -le ($members.length -1); $i++){
#need to check users OU for specific OU. If a user is member, save group to .txt. If none are members, move to next group
$OU = $members.toString()
if($OU.indexOf("OU=specific OU") -ge 0){#start of if OU
$results += New-Object psObject -Property @{'GroupName'=$name; 'Member'=$OU}
break
}#end if OU
}#end for mem.length
}#end if mem.length
}#end if1
}#end foreach
$results | Export-Csv $APgroupFile -NoTypeInformation
Cela semble fonctionner après le test initial. Tu es génial. Merci. – spassen
Merci. Vous pouvez également obtenir des appartenances imbriquées en ajoutant le commutateur -Recursive. –