maik87
Goto Top

NUR User mittels ldifde exportieren

Hallo zusammen,

ich möchte auf meinem Win 2000 Domänencontroller mittel ldifde alle User aus dem AD exportieren.

Meine Anweisung sieht aktuell so aus:

ldifde -f "s:\User.ldf" -r "(objectClass=User)" -a admin@domäne * -l dn

Jetzt kommen aber User und Computerkonten raus. OUs und sowas nicht...

Wie schaffe ich es nun, dass NUR die User rauskommen? Kann man es auch irgendwie hinkriegen, dass die Leerzeilen und die Zeilen mit "changetype" unterdrückt werden`?


Danke Leutz!!

Content-Key: 164336

Url: https://administrator.de/contentid/164336

Ausgedruckt am: 28.03.2024 um 16:03 Uhr

Mitglied: eSkapo
eSkapo 11.04.2011 um 13:27:43 Uhr
Goto Top
hallo..
habe das bei mir mit folgendem code gelöst.. Allerdings unter Win 2003 aber ich denke das sollte trotzdem laufen..
kannst du ja mal ausprobieren
hier der Code:

ldifde -f "C:\Export_Users.ldif" -d "ou=Export_Users,dc=test,dc=domain" -r "(objectCategory=person)" -l "cn,displayName,Company,description"

Erklärung: Hier werden in die Datei Export_Users.ldif alle User der OU Export_User exportiert. obejcCategroy=person legt fest das nur Personen also User exportiert werden sollen und hinter -l kommt eine Liste mit möglichen Atributen die
mit exportiert werden sollen.

Natürlich muss du das noch auf deinen speziellen Fall umändern, aber ich denke im großen und ganzen sollte das laufen

kannst ja mal posten, ob es geklappt hat

lg
eSkapo
Mitglied: Maik87
Maik87 11.04.2011 um 13:33:23 Uhr
Goto Top
Besten Dank!

Mit (objectCategory=person) anstatt (objectClass=User) läuft es wunderbar!!
Mitglied: eSkapo
eSkapo 11.04.2011 um 13:37:13 Uhr
Goto Top
Gerne face-smile
vielleicht gibst du mir zu deiner Frage

"Wie schaffe ich es nun, dass NUR die User rauskommen? Kann man es auch irgendwie hinkriegen, dass die Leerzeilen und die Zeilen mit "changetype" unterdrückt werden`?"

noch genauere informationen? verstehe nicht ganz was du damit meinst?

oder klappt das jetzt auch schon?

eSkapo
Mitglied: Maik87
Maik87 11.04.2011 um 13:52:04 Uhr
Goto Top
Der erste Satz war so gemeint, dass ich mit meiner Variante die oben steht User + Computerkonten bekommen habe. OUs und sowas nicht. Aber ich wollte halt nur die User haben!!

Satz zwei bedeutet, dass ich folgende Ausgabe habe:

dn: CN=USERNAME,CN=Users,DC=domaene,DC=com
changetype: add
L E E R Z E I L E
dn: CN=USERNAME2,CN=Users,DC=domaene,DC=com
changetype: add
L E E R Z E I L E
...

Wie kann ich die beiden für mich irrelevanten Zeilen "changetype" und die Leerzeile unterdrücken?
Mitglied: eSkapo
eSkapo 11.04.2011 um 14:34:10 Uhr
Goto Top
achso, ja bei mir sieht die ausgabe ähnlich aus

dn: CN=User0005,OU=Export_Users,DC=test,DC=domain
changetype: add
cn: User0005
description: TestUser
displayName: User0005
company: TestCompany

weiß aber auch nicht, wie man diesen changetype unterdrücken kann... vermutlich wird das vom System automatisch mit angegeben.
sorry..
Mitglied: Biber
Biber 11.04.2011 um 14:37:18 Uhr
Goto Top
Moin Maik87,

du könntest die ja eindeutig erkennbaren Zeilen mit nach deiner ldifde-zeile angehängtem "|FindStr /v "Suchmuster" " wegfiltern.
Ein "Suchmuster" wäre ja "changetype" (das so wohl nicht als Unsername vorkommt ).
Und eine Leerzeile ist "^$" (ein Zeilenanfang unmittelbar gefolgt von einem Zeilenende.

Grüße
Biber
Mitglied: Maik87
Maik87 11.04.2011 um 14:37:23 Uhr
Goto Top
Nicht schlimm...
Ich muss die Datei im Anschluss ja sowieso mit VBA bearbeiten, dann überspringe ich die Zeilen einfach.
Mitglied: Maik87
Maik87 11.04.2011 um 14:39:23 Uhr
Goto Top
Danke Biber!
Aber klappt das bei mir denn auch?

Ich leite ja nicht die Ausgabe des Programms weiter, sondern das Programm schreibt selbst die Daten in die Datei. Da kann ich doch dann nicht mit einem DOS-Befehl zwischenpfuschen!?
Mitglied: Biber
Biber 11.04.2011 um 14:46:21 Uhr
Goto Top
Zitat von @Maik87:
Danke Biber!
Aber klappt das bei mir denn auch?

Ich leite ja nicht die Ausgabe des Programms weiter, sondern das Programm schreibt selbst die Daten in die Datei.
Weil...? Weil du es ihm so vorgibst durch " -f "s:\User.ldf". zwingt dich doch keiner-

lass es auf den Bildschirm (=nicht mit -f in ein File) schreiben, hänge das "|findstr /v bla blubb" dahinter.
und DAhinter nochmal ein ">x:\User.txt"

Wenn du es allerdings als *.ldf-Format weiterverwurschteln willst, dann könnten die LEERZeilen wichtig sein.

Da kann ich dochdann nicht mit einem DOS-Befehl zwischenpfuschen!?
Klar, ein Admin kann alles.

Grüße
Biber
Mitglied: Maik87
Maik87 11.04.2011 um 14:52:47 Uhr
Goto Top
Hey,

ah, verstehe. Danke! Ich fang das Thema ganz neu an. Aber das entschuldigt sicher nicht meine Unbelecktheit ;)
Werde es nachher mal testen und berichten.

Nee, das ldf-Format ist mir wurscht. Ich möchte nur die Personen auswerten und nicht wieder ins AD zurückschreiben.
Mitglied: Biber
Biber 11.04.2011 um 15:02:15 Uhr
Goto Top
Moin maik87,


Zitat von @Maik87:
Hey,

ah, verstehe. Danke! Ich fang das Thema ganz neu an. Aber das entschuldigt sicher nicht meine Unbelecktheit ;)
Macht nichts - selbst meine Praktikantinnen waren vollkommen unbeleckt, bevor...

Werde es nachher mal testen und berichten.
Ich lieber nicht.

Nee, das ldf-Format ist mir wurscht. Ich möchte nur die Personen auswerten und nicht wieder ins AD zurückschreiben.
Dann mach es mit Findstr /V .

Grüße
Biber
Mitglied: eSkapo
eSkapo 11.04.2011 um 15:23:22 Uhr
Goto Top
hey
könnt ihr mir vielleicht bei meinem fehler helfen?
ich versuche eine verbindung zum ldap browser zubekommen um meine ldif file zu importieren
bekomme aber immer folgende fehlermeldung:

Verbindung wird geöffnet hat ein Problem festgestellt.

Fehler beim Öffnen der Verbindung - [LDAP: error code 49 -80090308: LdapErr:
DSID-0C09030F, comment: AccepSecurityContext
error, data 525, vece

hat vielleicht jemand von euch erfahrungen damit?

bin um jeden ratschlag dankbar

lg

eSkapo
Mitglied: Maik87
Maik87 12.04.2011 um 12:29:23 Uhr
Goto Top
Moin Biber,

wenn ich das -f "s:\User.ldf" weglasse, bekomme ich die Meldung "Invalid Parameter: Input file name required" face-sad
Mitglied: Biber
Biber 12.04.2011 um 13:47:25 Uhr
Goto Top
Moin Maik87,

sorry, mein Fehler.

Dann mach es in 2 Schritten - erzeuge die *.ldf wie bisher und mach die nachbehandling der Datei mit FindStr in deine final gewünschte Textdatei.

Grüße
Biber