fuji
Goto Top

Active Directory auslesen - Ausgabe in Datei

Hallo,

ich will das Active Directory auslesen.
Benötigt werden am besten alle Userinformationen, da es mir auch auf Informationen wie LastLogon ankommt. Die Informationen will ich dann in eine Datenbank importieren und weiterverarbeiten.

Mit DSQUERY kann man das wunderbar auslesen und bekommt auch alle Informationen. Es gibt ja die Option -uco womit man es angeblich in eine Datei ausgeben kann. Wenn ich es so Eingebe:

dsquery * ou=BLCFEU,dc=DOMOL,dc=de -attr *-limit 0 -uco c:\user.txt

klappt es nicht. Was muss ich eingeben, damit es mit der Datei Ausgabe klappt??

Mit Jose http://www.faq-o-matic.net/content/view/70 kann man es auch gut auswerten, leider wird es in html ausgegeben. Kennt ihr vielleicht noch andere tools, die ähnlich sind?

Danke für die Tipps.

Gruß,
Samuel Harms

Content-Key: 29866

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

Printed on: April 18, 2024 at 12:04 o'clock

Member: Dani
Dani Apr 06, 2006 at 09:58:33 (UTC)
Goto Top
hi,
ich habe ein VB Script, wo bestimmte OU' und DC's ausliehst und in eine Excel Tabelle schreibt. Ausgelesen werden Vor & Nachname, Username, LastLogon, Passwortalter, Läuft Passwort ab, Acount deaktiviert? Passwort wurde geändet am?

Mehr habe ich noch nicht ausgelesen!! Würde das für deine Zwecke reichen? Download


Gruß
Dani
Member: fuji
fuji Apr 07, 2006 at 10:07:21 (UTC)
Goto Top
Habe schon eine Lösung gefunden...

mit folgendem Befehl bekommt man eine Tabelle ausgegeben mit den gewünschten Informationen. Bei -attr kann man auch * angeben um alles zu bekommen, allerdings wird es dann als Liste ausgegeben und man kann es z.B. nicht mehr in Excel einlesen. Die Datei wird in C:\Windows\ geschrieben.

dsquery * ou=BLCFEU,dc=DOMOL,dc=de ?filter (&(objectCategory=person)(objectClass=user)(name=*)) -attr name sn givenname company department lastLogon l co createTimeStamp whenchanged pwdlastset -limit 0 > user.txt

Das ist zwar schön und gut, aber in der Textdatei sind keine verknüftigen Trennzeichen und so kann man das ganze auch nicht gut einlesen. face-confused

Lösung:

csvde -u -f "C:\domain.txt" -r "(|(&(objectClass=user)(objectCategory=person)))"

http://technet2.microsoft.com/WindowsServer/en/Library/1050686f-3464-41 ...

http://www.faq-o-matic.net/content/view/45/45/

Damit geht es wunderbar.

Jetzt stehe ich nur noch vor dem Problem, dass ich den Wert aus dem Feld LastLogon in ein Datum umrechnen will. Hat da jemand eine Formel für? Ich habe da was gefunden bei Microsoft: http://www.microsoft.com/technet/scriptcenter/topics/win2003/lastlogon. ... jedoch kann man das nicht so einfach in eine Access Datenbank einbauen. Oder kann mir da jemand einen Weg sagen bzw. helfen?

Danke.

Gruß,
Samuel
Member: jodi1976
jodi1976 Apr 20, 2006 at 10:57:19 (UTC)
Goto Top
Ich benötige ähnliches. Ich will nur bestimmte OUs nach dem LastLogon Timestamp der Computer durchsuchen.

Hier gibt es ein Script von rlmueller. Dieses wird auf faq-o-matic.net beschrieben:
Bei einem älteren Verzeichnis kannst du mit einem VBS-Skript suchen:

http://www.rlmueller.net/Last%20Logon.htm

Achtung: In dem Skript musst du diese Zeile:


strFilter = "(&(objectCategory=person)(objectClass=user))"


durch diese ersetzen:

strFilter = "(&(objectCategory=computer)(objectClass=user))"
Das gibt dir auf der Kommandozeile (ausführen mit "cscript Skriptname.vbs", nicht per Doppelklick!) Namen und letztes Anmeldedatum aller Computer aus

Das Script ist in soweit ok, nur was muss ich in dem Script abändern, damit er nicht die ganze Domäne durchsucht, sondern nur bestimmte OUs?

Gruß
Jörg
Member: Michael-H
Michael-H Nov 02, 2007 at 09:37:57 (UTC)
Goto Top
Hallo Dani, Dein Beitrag ist zwar schon eine Weile her,
aber ich hoffe, Du hast das VB-Script noch und kannst es mir mailen.
Danke Dir im voraus....Gruß Michael