Clear-Host #$zusammen = Liste von allen Usern #$namen = Liste von allen bereits vorgekommenden UserUnids #$gruppen = Liste von allen bereits vorgekommenden Gruppennamen $zusammen = New-Object System.Collections.ArrayList($null) #Pfad zur txt/csv Datei wo die Gruppen enthalten sind $path = "C:\gruppen.txt" #Inhalt der Datei laden $inpt = Get-Content $path $la = 1 #Objekt für die Ausgabe wird definiert foreach ($temp in $inpt) { if($la -eq 1) { $objAusgabe = New-Object -TypeName PSObject $objAusgabe | Add-Member –MemberType NoteProperty –Name $temp -Value $temp $la = 2 } else { $objAusgabe | Add-Member –MemberType NoteProperty –Name $temp -Value $temp } } $mitte = New-Object System.Collections.ArrayList($null) foreach ($temp in $inpt) { #$usr = Gruppenname $usr = $temp #Funktion zum Suchen der User function Findusers($objparam) { foreach($ent in $objparam) { #$objmitte = New-Object -TypeName PSObject | Select UNID $objuser1 = New-Object System.DirectoryServices.DirectoryEntry("LDAP://"+$ent) #usrtype gibt durch den samaccounttype an ob es sich um einen user oder eine gruppe handelt #wenn es eine gruppe ist wird die if-schleife durchlaufen sonst die else schleife $usrtype = $objuser1.sAMAccountType if($usrtype -eq 268435456 -or $usrtype -eq 268435457) { "`t`t" + $objuser1.name + " -- Gruppe " $Gabe = [string]$objuser1.name $mitte.Add($Gabe) |Out-Null } else { "`t`t"+$objuser1.cn.ToUpper()+" -- "+$objuser1.sn+","+$objuser1.givenname $unidgroß = [string]$objuser1.cn $gabe = $unidgroß.ToUpper() $mitte.Add($gabe) |Out-Null } } $test = $mitte foreach($tempo in $test) { $objAusgabe.$temp = $tempo $zusammen.Add($objAusgabe)|Out-Null } } $str = $usr + ":-" $str Echo "---------------------------------------------" $objItem = @() $strFilter = "(&(objectCategory=Group)(name=$usr))" $objDomain = New-Object System.DirectoryServices.DirectoryEntry $objSearcher = New-Object System.DirectoryServices.DirectorySearcher $objSearcher.SearchRoot = $objDomain $objSearcher.PageSize = 1000 $objSearcher.Filter = $strFilter $objSearcher.SearchScope = "Subtree" $colResults = $objSearcher.FindAll() foreach ($objResult in $colResults) { $objItem = $objResult.GetDirectoryEntry() $objmem = $objItem.member Findusers($objmem) } } $zusammen | ConvertTo-Csv | Out-File C:\test.csv -Encoding unicode
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)