-=MGoF=-Grisu 10 Geschrieben 13. Januar 2012 Melden Teilen Geschrieben 13. Januar 2012 Hallo, ich bin mit einem Export aus AD beschäftigt und komme kurz vor dem Ziel nicht weiter... Ich sollte aus unterschiedlichen OUs User mit bestimmten Parametern exportieren. Aus einer OU klappt alles wunderbar, nur lassen sich mit csvde scheinbar nicht mehrere OUs auslesen. Über eine Batch Datei wäre das zwar möglich, allerdings wird das Outputfile bei jeder OU überschrieben. Das hat mich dann aus dsquery gebracht, allerdings ist der Export nicht für eine Weiterverarbeitung z.b. mit Excel brauchbar... csvde: csvde -f file -r objectCategory=person -l sn,givenName,employeeNumber,department,extensionAttribute3 -d "OU=User,OU=Productive,DC=Domain,DC=at" -p Base ganz toll wäre ja, wenn man mehrere DNs abfragen könnte - bsp.: "(|(OU=Gruppenleiter,OU=User,OU=Productive,DC=Domain,DC=at)(OU=Abteilungsleiter,OU=User,OU=Productive,DC=Domain,DC=at))" ...nur läuft das eben nicht hat jemand hier ne Idee, wie ich mehrere OUs in ein Outputfile bringe, oder ich die Ausgabe in eine Datei anhängen kann? Vielen Dank schon mal Gruß Grisu Zitieren Link zu diesem Kommentar
NilsK 2.921 Geschrieben 14. Januar 2012 Melden Teilen Geschrieben 14. Januar 2012 Moin, kannst du bitte genau erklären, wo die Objekte liegen, nach welchen Kriterien du sie filtern willst und was du mit den Daten dann vorhast? Gruß, Nils Zitieren Link zu diesem Kommentar
-=MGoF=-Grisu 10 Geschrieben 14. Januar 2012 Autor Melden Teilen Geschrieben 14. Januar 2012 Hallo, in der OU Productive gibt es mehrere Unter-OUs (User, Praktikanten, Aussenstellen, Systemuser... in der OU Aussenstellen sind auch User angelegt) Ich benötige einen Export von allen Benutzern in den OUs User, Praktikanten und Aussenstellen, ohne Systemuser Mit "csvde -f file -r objectCategory=person -l sn,givenName,employeeNumber,department,extensionAttribute3 -d "OU=Productive,DC=Domain,DC=at" werden die Systemuser auch gelistet. Somit möchte ich die Auswertung auf folgende OUs beschränken: OU=User,OU=Productive,DC=Domain,DC=at -p Onelevel OU=Praktikanten,Productive,DC=Domain,DC=at -p Onelevel OU=Aussenstellen,OU=Productive,DC=Domain,DC=at -p Subtree Der Export wird für die Weiterverwendung in anderen Applikationen benötigt und wird in regelmäßigen Abständen erstellt... Bisher ist mir nur eingefallen, bei den betroffenen Usern ein weiteres Attribut einzufügen, welches dann gefiltert werden kann - wäre halt eine zustätzliche Fehlerquelle Gruß und Danke Grisu edit: genau sowas wäre mein Ziel, läuft aber eben nicht...: "csvde -f file -r objectCategory=person -l sn,givenName,employeeNumber,department -d "OU=User,OU=Productive,DC=Domain,DC=at","OU=Praktikanten,Productive,DC=Domain,DC=at","OU=Aussenstellen,OU=Productive,DC=Domain,DC=at","..." -p Onelevel Zitieren Link zu diesem Kommentar
NilsK 2.921 Geschrieben 14. Januar 2012 Melden Teilen Geschrieben 14. Januar 2012 Moin, hört sich so an, als sei csvde nicht das richtige. Dort hast du nämlich auch den Umstand, dass du dich nicht auf die Reihenfolge der Felder verlassen kannst - für wiederholte Importvorgänge also ungeeignet; auch ein Export in Teilen per Batch wird daran scheitern, weil die Teildateien dann u.U. nicht dieselbe Feldreihenfolge haben. Allenfalls könntest du versuchen, mit Filterkriterien zu arbeiten und auf den LDAP-Pfad zu filtern, aber ich weiß nicht, ob das gelingt. Schau dir mal adfind von Joe Richards an, vielleicht kommst du damit zu besseren Ergebnissen. Ist allerdings etwas komplex in der Syntax, nimm dir also Zeit. faq-o-matic.net » Active-Directory-Massenoperationen mit AdMod und AdFind Bessere Empfehlungen kann ich aufgrund der rudimentären Angaben nicht machen. Was du mit "Systemuser" meinen könntest, ist mir darüber hinaus unklar. Gruß, Nils Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 14. Januar 2012 Melden Teilen Geschrieben 14. Januar 2012 Hallo, Wie siehts denn mit Powershellkenntnissen aus? Damit hättest du maximale Flexibilität blub Zitieren Link zu diesem Kommentar
NilsK 2.921 Geschrieben 14. Januar 2012 Melden Teilen Geschrieben 14. Januar 2012 Moin, Damit hättest du maximale Flexibilität Off-Topic:ähh ... nee. (Ja, gut, ich weiß was du meinst ... aber "maximal" hieße "maximal", und das stimmt nicht.) Gruß, Nils Zitieren Link zu diesem Kommentar
-=MGoF=-Grisu 10 Geschrieben 14. Januar 2012 Autor Melden Teilen Geschrieben 14. Januar 2012 danke für die Tipps... hab mich eben so auf dieses csvde vertieft, dass ich es unbedingt so auf die reihe kriegen wollte mit adfind sollte ich weiterkommen - powershell kenntnisse? sagen wir mal so, ich kenne es :D wäre aber mal ein grund, mich da mal etwas zu vertiefen @systemuser - war nur ein beispiel und irgendwie wohl ein verwirrender begriff - leider ist das betroffene AD ein ziemlicher saustall mit "usern" die eigentlich keine sind (Applikationen usw.) - aufräumen und neuorganisieren wäre angesagt - nur hab ich das mittlerweile aufgegeben @csvde und reihenfolge - hab ich auch schon bemerkt, da die user der betroffenen OUs alle zuverlässig befüllt sind, sollte die reihenfolge zuverlässig stimmen Zitieren Link zu diesem Kommentar
NilsK 2.921 Geschrieben 15. Januar 2012 Melden Teilen Geschrieben 15. Januar 2012 Moin, @csvde und reihenfolge - hab ich auch schon bemerkt, da die user der betroffenen OUs alle zuverlässig befüllt sind, sollte die reihenfolge zuverlässig stimmen ??? die Daten bei den Objekten haben mit der Ausgabereihenfolge der Felder durch csvde nichts zu tun. Wenn man wüsste, was du mit dem Export genau vorhast, könnte man dir evtl. auch was anderes vorschlagen. Vielleicht ist ein Export-Eigenbau per ADSI/VBScript oder per PowerShell ja tatsächlich besser. Oder deine Ziel-Applikationen können direkt auf das AD zugreifen. Gruß, Nils Zitieren Link zu diesem Kommentar
-=MGoF=-Grisu 10 Geschrieben 15. Januar 2012 Autor Melden Teilen Geschrieben 15. Januar 2012 ??? die Daten bei den Objekten haben mit der Ausgabereihenfolge der Felder durch csvde nichts zu tun. scheinbar doch, beim ersten user einer OU war der kürzel (employeeid) nicht eingetragen, bei dieser abrage war dann das feld am ende gelistet... hab ich denn noch nicht beschrieben, was ich möchte? user export aller akiven user aus mehreren OUs - die App greift nicht direkt auf das AD zu folgend felder werden benötigt sn,givenName,employeeNumber,department,extensionAttribute3 (=Kostenstelle) die deaktivierten objekte filtere ich bei der abfrage aus, was aber mit meinem problem nichts zu tun hat: -r "(|(useraccountcontrol=512)(useraccountcontrol=544)(useraccountcontrol=66048))" für was genau der export verwendet wird, weiß ich gar nicht - habe nur eine anfrage für diesen export bekommen ... Zitieren Link zu diesem Kommentar
NilsK 2.921 Geschrieben 15. Januar 2012 Melden Teilen Geschrieben 15. Januar 2012 Moin, deshalb musst du ja nicht aufhören, die Shift-Taste zu verwenden. Du machst den gleichen Fehler wie viele Fragesteller: Du hast dir einen Lösungsweg ausgesucht für ein Problem, das du nicht beschreibst. Nun kommst du mit deinem Weg nicht weiter und fragst nach Unterstützung. Vielleicht könnte man dir aber besser helfen, wenn man wüsste, welches Problem du denn eigentlich lösen willst - in diesem Fall: Was denn mit dem Export genau passieren soll. Gruß, Nils Zitieren Link zu diesem Kommentar
-=MGoF=-Grisu 10 Geschrieben 15. Januar 2012 Autor Melden Teilen Geschrieben 15. Januar 2012 Hallo, ich denke, ich habe mein Problem ausführlich geschildert? Ich weiß nicht, was ich noch schreiben soll. Mein Boss hat mir die Aufgabe gegen, einen Export als csv oder txt Datei vom AD von allen Mitarbeitern mit Name, Abteilung, Personalnummer und Kürzel zur Verfügung zu stellen. Was damit geschehen soll, weiß ich nicht und hat auch mit meinem Problem nichts zu tun? Ich weiß nur, dass die Applikation, welche den Export für was auch immer verwendet keinen Zugriff auf das AD hat. Ich möchte einfach nur wissen, wie ich Objekte aus verschiedenen OUs abfragen kann... weitergekommen bin ich überigens auch schon, der Export läuft mit csvde, mit ein wenig Bastelei hab ich es auf die Reihe bekommen. Nur glaub ich nicht, dass es keine bessere Lösung gibt. Dafür schau ich mir morgen zuerst adfind an, zur Not auch Powershell Ich versteh nicht ganz, was dir für Infos fehlen? Meine Fragestellung sollte eigentlich schon aus der Überschrift ersichtlich sein - oder reden wir ganz einfach aneinander vorbei?? bis denne Grisu Zitieren Link zu diesem Kommentar
Maraun 12 Geschrieben 16. Januar 2012 Melden Teilen Geschrieben 16. Januar 2012 Moin, dann mal ein Ansatz mit Powershell für Dich: $OU = "domain.at/productive/user" Get-QADUser -SearchRoot $OU -includedproperties sn,givenName,employeeNumber,department,extensionAttribute3 | select sn,givenName,employeeNumber,department,extensionAttribute3 | Sort-Object -Property user > dateiname.txt Für dieses Powershell Script brauchst Du das Quest Cmdlet Modul installiert, sonst kennt Powershell den Get-QADUser Befehl nicht. Das Ergebnis sollte aber passen und für die anderen OU´s bennenst Du den Searchroot und die TXT Datei um und fertig. Grüße Alex Zitieren Link zu diesem Kommentar
samsam 14 Geschrieben 18. Januar 2012 Melden Teilen Geschrieben 18. Januar 2012 Moin, lies bitte diese Artikel von Yusuf (Daim): Massenimporte- und -exporte mit CSVDE und der AD-PowerShell durchführen Man muss nicht Quest Cmdlet Modul installieren, AD-Pwershell hat Get-ADUser befehl . Die AD Management Gateway Services für Windows Server 2003 und Windows Server 2008 MFG Zitieren Link zu diesem Kommentar
PowerShellAdmin 169 Geschrieben 18. Januar 2012 Melden Teilen Geschrieben 18. Januar 2012 denke Powershell ist hier das beste Mittel. Ist kein großer Skript. 3. Anbieter CMDlets von Quest nutze ich nicht. Man hat so eine hohe Flexibilität, kann die Daten auch direkt in eine SQL Datenbank exportieren, wie man will (; a) kann und darf man diese nicht in jeder Umgebung nutzen b) können die Boardmittel dies meistens auch Yusufs Blog ist großartig, er hat viele gute Beispiele :) http://blog.dikmenoglu.de/ADPowerShell+Befehle.aspx 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.