Paul_0801 0 Posted November 12, 2020 Report Share Posted November 12, 2020 (edited) Hi zusammen, ich muss ich einer großen Struktur mit mehren OU Benutzer finden, welche in einer bestimmten Gruppe sind. Mein Power Shell Skript sieht bis jetzt so aus: $OU= Read-Host "Geben Sie die OU an " Write-Host "Die Ou $Ou wurde ausgewählt!" $StrukturOU= Get-ADOrganizationalUnit -SearchBase"OU=Name,DC=DomainDC=Net" -SearchScope OneLevel -LDAPFilter "(Name=$OU)" $alluser= Get-ADUser -SearchBase $StrukturOU.DistinguishedName -LDAPFilter "(&(sn=*)(givenname=*))" | Select Name foreach ($user in $alluser) { $true = Get-ADGroupMember $user where AdGroup 'Gruppennamen' } Das Ziel ist es eigentlich, das am Ende bei True die Leute stehen, welche in der Gruppe drinnen sind. Aber irgendwie funktioniert es nicht. Habt ihr Vorschläge? Viele Grüße Paul Edited November 12, 2020 by Paul_0801 Quote Link to post
NilsK 1,225 Posted November 12, 2020 Report Share Posted November 12, 2020 Moin, also, zunächst solltest du natürlich Tippfehler vermeiden. "Struktur" ist nicht dasselbe wie "Strucktur". Das Wort "Gruop" wird die PowerShell auch nicht kennen. Dann ist es auch keine gute Idee, eine Variable "true" zu nennen, das ist ein reseviertes Schlüsselwort. Das ist technisch an der Stelle zwar (leider) zulässig, aber es erschwert das Verständnis deines Codes. Und schließlich wäre noch mal zu prüfen, was du überhaupt willst. Dein Code, wenn er funktionierte, würde wohl alle User der OU durchgehen und dann versuchen, diejenigen, die in der Gruppe sind, in eine Variable zu schreiben. Ist es so gedacht? (Funktionieren wird es schon deshalb nicht, weil die Logik immer nur die Daten des letzten abgefragten Users in der Variable ablegen würde ...) Abgesehen davon, dass der Code noch einige Fehler hat: Warum machst du das so? Was soll mit den Werten hinterher geschehen? Was ist das übergeordnete Ziel? Gruß, Nils Quote Link to post
Dukel 353 Posted November 12, 2020 Report Share Posted November 12, 2020 Das Get-ADOU und Get-ADUser kann man auch zusammenfassen. Quote Link to post
Paul_0801 0 Posted November 12, 2020 Author Report Share Posted November 12, 2020 vor 14 Minuten schrieb NilsK: Moin, also, zunächst solltest du natürlich Tippfehler vermeiden. "Struktur" ist nicht dasselbe wie "Strucktur". Das Wort "Gruop" wird die PowerShell auch nicht kennen. Dann ist es auch keine gute Idee, eine Variable "true" zu nennen, das ist ein reseviertes Schlüsselwort. Das ist technisch an der Stelle zwar (leider) zulässig, aber es erschwert das Verständnis deines Codes. Und schließlich wäre noch mal zu prüfen, was du überhaupt willst. Dein Code, wenn er funktionierte, würde wohl alle User der OU durchgehen und dann versuchen, diejenigen, die in der Gruppe sind, in eine Variable zu schreiben. Ist es so gedacht? (Funktionieren wird es schon deshalb nicht, weil die Logik immer nur die Daten des letzten abgefragten Users in der Variable ablegen würde ...) Abgesehen davon, dass der Code noch einige Fehler hat: Warum machst du das so? Was soll mit den Werten hinterher geschehen? Was ist das übergeordnete Ziel? Gruß, Nils Oh, also mal von den Tippfehlern von angesehen. Genau, am Ende sollen alle User einer OU die in einer Gruppe sind ausgeben werden. Ich wollte am Ende die Variable in eine csv Datei ausgeben. Quote Link to post
NilsK 1,225 Posted November 12, 2020 Report Share Posted November 12, 2020 (edited) Moin, ja, und dann? Was soll damit geschehen? Was ist die Anforderung? Mir erscheint der ganze Ansatz ziemlich umständlich. Vielleicht gibt es aber einen Grund dafür. Sonst würde ich dir raten, das gar nicht per PowerShell zu machen, sondern z.B. mit adfind. Gruß, Nils PS. in einem Forum gehört ein bisschen mehr Sorgfalt beim Tippen zur Höflichkeit. Beim Scripting geht es gar nicht ohne. Und wenn du Fragen zu deinem Code stellst, dann bitte mit exaktem Code (und auch als Code formatiert) - sonst raten wir hier nur rum. Danke. Edited November 12, 2020 by NilsK 1 Quote Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.