karlldall 0 Geschrieben 5. September 2013 Melden Teilen Geschrieben 5. September 2013 Hallo, ich habe folgendes Problem wir benötigen eine Auswertung, von verteilern und deren Berechtete user(mit Displaynamen) istzustand: verteiler 1verteiler 2verteiler 3verteiler 4 verteiler 3 n 4 hat wieder verteiler und eine ebene auch noch verteiler, erst dann komemn die Members destination der VerteilerOUeasycredit.intern/Admin/OPFWew/ExSrv2/MSG011/Groups/ eine komplette auswertung über die OU ist auch sinfreii, da nur einige verteiler abgefragt werden sollen (evtl mit einem csv-imprtFile) ich habe händisch folgendes gemacht:Get-DistributionGroup -Identity "Verteiler 1" | Get-DistributionGroupMember|ft displayname geht ist aber mühsam, kann mir jmd von Euch hier via PS Script (Schleife) weiterhelfen? danke Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 5. September 2013 Melden Teilen Geschrieben 5. September 2013 Ich habe so was mit AD Gruppen gemacht: function Recurse-AdGroup ($group) { if((@(try{Get-ADGroup $group}catch{}).count) -gt 0){ foreach($users in (Get-ADGroupMember $group)){ Recurse-AdGroup $users.SamAccountName } }else{ return $group } } $users = Recurse-AdGroup $group Zitieren Link zu diesem Kommentar
karlldall 0 Geschrieben 5. September 2013 Autor Melden Teilen Geschrieben 5. September 2013 oder anders gefragt wie kann ich Get-DistributionGroup -Identity "AlleMitarbeiterInnenOesterreich" | Get-DistributionGroupMember|ft displayname,SamAccountName mit get-content Verteiler.csv ...zusmamen in einen ps1 ausführen? Zitieren Link zu diesem Kommentar
RobertWi 81 Geschrieben 5. September 2013 Melden Teilen Geschrieben 5. September 2013 Was gefällt Dir denn an Dukels Lösung nicht, dass Du nun wieder was ganz anderes ins Spiel bringst? Zitieren Link zu diesem Kommentar
karlldall 0 Geschrieben 6. September 2013 Autor Melden Teilen Geschrieben 6. September 2013 (bearbeitet) weil ich KEINE Abfrage auf die komplette OU mache sonder nur xy :) wie setzte ich dukels Lösung um muss ich das variablen definieren? bin nicht wirklich firm in sachen schleifen :) bearbeitet 6. September 2013 von karlldall Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 6. September 2013 Melden Teilen Geschrieben 6. September 2013 Dann lerne dich erst mal in die Grundlagen der Powershell ein. Alternativ, wenn du das nicht willst kannst du auch einen Dienstleister beauftragen, der dir ein Script schreibt. Zitieren Link zu diesem Kommentar
karlldall 0 Geschrieben 6. September 2013 Autor Melden Teilen Geschrieben 6. September 2013 danke für deine klasse Antwort. hat jmd noch andere Ideen, Anregungen. Zitieren Link zu diesem Kommentar
RobertWi 81 Geschrieben 6. September 2013 Melden Teilen Geschrieben 6. September 2013 Was willst Du jetzt hören? Schleifen und Rekursion sind die Grundlage JEDER Scripting-Sprache. Wenn Dir diese Grundlage fehlt, dass wird dann erst aus Objekten, Attributen, Pipeline, usw. in der PowerShell? Auch das Lesen von Scripten ist eine Grundbedienung. In Dukels Script ist nichts mit OU oder so. Du muss lediglich die Gruppe übergeben und bekommst die User rekursiv zurück. Wie er schreibt: $users = Recurse-AdGroup $group $group ist die Gruppe in $users stehen danach die Benutzer (genaugenommen der Anmeldename der Benutzer). Zitieren Link zu diesem Kommentar
karlldall 0 Geschrieben 13. September 2013 Autor Melden Teilen Geschrieben 13. September 2013 Ich habs wie folgt gelöst. $verteiler = get-content verteiler.csv foreach ($verteiler in $verteiler){write-host $verteilerGet-ADGroupMember "$verteiler" -Recursive | Get-ADUser -properties * | ft displayName,Name} geht rekursiv, aber kann nur Verteiler abfragen, keine SecurityGroups <-- wie kann ich das cmdlet umbauen, dass auch "SecurityGroups" abgefragt werden. Get-DistributionGroup -Identity "AllePartnerbankenbetreuerDE" | Get-DistributionGroupMember |ft displayname,SamAccountName kann verteiler & security Groups, geht aber nicht rekursiv @ Robert hast du eine Idee? Zitieren Link zu diesem Kommentar
karlldall 0 Geschrieben 13. September 2013 Autor Melden Teilen Geschrieben 13. September 2013 Robert? Zitieren Link zu diesem Kommentar
RobertWi 81 Geschrieben 14. September 2013 Melden Teilen Geschrieben 14. September 2013 (bearbeitet) Sorry, ich muss auch mal arbeiten. ;) geht rekursiv, aber kann nur Verteiler abfragen, keine SecurityGroups <-- wie kann ich das cmdlet umbauen, dass auch "SecurityGroups" abgefragt werden. Kann ich nicht nachvollziehen. Geht bei mir problemlos: [PS] C:\>Get-ADGroupMember "CN=Organization Management,OU=Microsoft Exchange Security Groups,DC=sm-rw,DC=local" -recursive | ft Name,ObjectClassName ObjectClass ---- ----------- Administrator user Robert Wille user SERVER02 computer [PS] C:\>Get-ADGroupMember "CN=Organization Management,OU=Microsoft Exchange Security Groups,DC=sm-rw,DC=local" -Recursive | Get-ADUser -properties * | ft displayName,NamedisplayName Name ----------- ---- Administrator Administrator Robert Wille Robert Wille Get-ADUser : Unter "DC=sm-rw,DC=local" kann kein Objekt mit der ID "CN=SERVER02,CN=Computers,DC=sm-rw,DC=local" gefunde n werden. Bei Zeile:1 Zeichen:127 + Get-ADGroupMember "CN=Organization Management,OU=Microsoft Exchange Security Groups,DC=sm-rw,DC=local" -Recursive | G et-ADUser <<<< -properties * | ft displayName,Name + CategoryInfo : ObjectNotFound: (CN=SERVER02,CN=...=sm-rw,DC=local:ADUser) [Get-ADUser], ADIdentityNotFo undException + FullyQualifiedErrorId : Unter "DC=sm-rw,DC=local" kann kein Objekt mit der ID "CN=SERVER02,CN=Computers,DC=sm-rw ,DC=local" gefunden werden.,Microsoft.ActiveDirectory.Management.Commands.GetADUser Der Fehler im zweiten Bild ist verständlich, da das ein Computer ist und kein User. Die Gruppe "Organization Management" ist eine Sicherheitsgruppe. Hätte mich auch sehr gewundert, dass Get-ADGroupMember keine Sicherheitsgruppen kann, denn das ist ja ein AD-CMDLET. bearbeitet 14. September 2013 von RobertWi Zitieren Link zu diesem Kommentar
karlldall 0 Geschrieben 16. September 2013 Autor Melden Teilen Geschrieben 16. September 2013 danke für deine Mühe, Get-ADGroupMember "AlleMitarbeiterInnenITP" -Recursive | Get-ADUser -properties * | ft displayName,Name ""AlleMitarbeiterInnenITP = Mail Universal Security Group"" Get-ADGroupMember : Cannot find an object with identity: 'AlleMitarbeiterInnenITP' under: 'DC=easycredit,DC=intern'.At line:1 char:18+ Get-ADGroupMember <<<< "AlleMitarbeiterInnenITP" -Recursive | Get-ADUser -properties * | ft displayName,Name + CategoryInfo : ObjectNotFound: (AlleMitarbeiterInnenITP:ADGroup) [Get-ADGroupMember], ADIdentityNotFoun dException + FullyQualifiedErrorId : Cannot find an object with identity: 'AlleMitarbeiterInnenITP' under: 'DC=easycredit,DC= intern'.,Microsoft.ActiveDirectory.Management.Commands.GetADGroupMember Get-ADGroupMember "Mail Universal Distribution group" -Recursive | Get-ADUser -properties * | ft displayName,Name --> da klappt aber NICHT mit Securitiy Gruppen" Zitieren Link zu diesem Kommentar
RobertWi 81 Geschrieben 16. September 2013 Melden Teilen Geschrieben 16. September 2013 Moin, wie gesagt, funktioniert problemlos: PS C:\> 'test1','test2' | Get-ADGroup | ft Name,Group* -AutoSizeName GroupCategory GroupScope ---- ------------- ---------- Test1 Distribution Universal Test2 Security Universal PS C:\>'test1','test2' | Get-DistributionGroup | ft Name,Group* -autosizeName GroupType ---- --------- Test1 Universal Test2 Universal, SecurityEnabled PS C:\> 'test1' | Get-ADGroupMember -Recursive | Get-ADUser -properties * | ft displayName,NamedisplayName Name ----------- ---- BeXXX, MYYY mbeXXX PS C:\> 'test2' | Get-ADGroupMember -Recursive | Get-ADUser -properties * | ft displayName,NamedisplayName Name ----------- ---- BeXXX, MYYY mbeXXX test1 ist eine "Distribution Universal", test2 ist "Security Universal" und beide sind Mail-aktiviert. Aus Deiner Fehlermeldung würde ich lesen, dass es die Gruppe "AlleMitarbeiterInnenITP" (grr..... grausige Verhunzung der deutschen Sprache) bei Dir nicht gibt. Was sagt denn Get-ADGroup "AlleMitarbeiterInnenITP" | ft Name,Group* -AutoSize Alternativ kannst Du das auch mit dem DN probieren. Zitieren Link zu diesem Kommentar
karlldall 0 Geschrieben 16. September 2013 Autor Melden Teilen Geschrieben 16. September 2013 haha, habs mir nocheinmal genauer angesehen.du hast Recht, das cmdlet, kann auch Securty Groups abfragen.mein Fehler/ Problem war, dass ich auf den Alias losgeh ... in meinem Fall war der Alias/ Displayname nicht der, der als eMailadresse hinterlegt war, d.h. mein AD Objekt/ security Gruppe wurde iwann mal umbenannt ... danke Zitieren Link zu diesem Kommentar
RobertWi 81 Geschrieben 17. September 2013 Melden Teilen Geschrieben 17. September 2013 Also funktioniert es jetzt? Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.