edocom 10 Geschrieben 18. September 2007 Melden Teilen Geschrieben 18. September 2007 Hallo... So hat euer Tag auch so angefangen wie meiner, nämlich grausam :) naja... folgendes Problem: Ich muss aus dem ADS Name, Vorname und die Telefonnummer auslesen. Diese muss ich dann in einer Excelliste zusammenstellen. Ich habe einige möglichkeiten gefunden, jedoch viel zu viel Müll. z.B. CSVDE -f "C:\Benutzer.txt" -r (objectclass=user) -l sAMAccountName,name -d "dc=mi-intra,dc=net" Mit diesem Befehl bekomme ich zwar nur die Benutzernamen aber auch sehr viele andere Information die ich nicht brauche. nun, hat jemand ein gutes (deutliches) beispiel? Bin neu in der Szene, daher sollte es etwas ausführlicher sein :) vielen Dank für die Bemühungen. Zitieren Link zu diesem Kommentar
nerd 28 Geschrieben 18. September 2007 Melden Teilen Geschrieben 18. September 2007 Hi! hab den Beitrag mal ins Scripting Forum verschoben. Hier wird dir bestimmt schneller geholfen. Viele Grüße Zitieren Link zu diesem Kommentar
edocom 10 Geschrieben 18. September 2007 Autor Melden Teilen Geschrieben 18. September 2007 Aha ok, danke... Zitieren Link zu diesem Kommentar
Daim 12 Geschrieben 18. September 2007 Melden Teilen Geschrieben 18. September 2007 Servus, versuche es mal mit LDIFDE mit dem folgenden Befehl (kann es gerade nicht testen): ACHTUNG: Alles in einer Zeile! LDIFDE -f Export.ldf -s <DC-Name> -d "dc=<Domäne>,dc=<TLD>" -p subtree -r "(objectCategory=user)" -l "sAMAccountname,givenname,sn,telephoneNumber" Die einzelnen Feldnamen/Atrribute kannst du von hier entnehmen bzw. deinen Export erweitern. User Object User Interface Mapping (Windows) Zitieren Link zu diesem Kommentar
edocom 10 Geschrieben 18. September 2007 Autor Melden Teilen Geschrieben 18. September 2007 und wo wird es exportiert? ich meine den Pfad bekomme ich es dann in einem txt auf dem C:\ ? weil ich sehe da keine Pfadangaben... Zitieren Link zu diesem Kommentar
Daim 12 Geschrieben 18. September 2007 Melden Teilen Geschrieben 18. September 2007 Yepp, standardmäßig wird es in der Root, also auf C:\ gespeichert. Die Datei lautet (habe es gerade nochmals geändert) Export.ldf. Du kannst sie aber auch .TXT nennen. Zitieren Link zu diesem Kommentar
edocom 10 Geschrieben 18. September 2007 Autor Melden Teilen Geschrieben 18. September 2007 bei mir bringter fehlermeldung, das System kann die angegebene Datei nicht finden. habe folgendes gemacht: LDIFDE -f Export.ldf -s <DomainCserver> -d "dc=<test>,dc=<com>" -p subtree -r "(objectCategory=user)" -l "sAMAccountname,givenname,sn,telephoneNumber" habs dann als bat abgespeichert und ausgeführt... und bekomme ne fehlermeldung? komisch... Zitieren Link zu diesem Kommentar
Daim 12 Geschrieben 18. September 2007 Melden Teilen Geschrieben 18. September 2007 Dann machst du irgendwo einen Tipp-Fehler. Ich habe es soeben bei mir versucht und es funktioniert. Nochmals mit Beispiel-Namen: LDIFDE -f Export.ldf -s Domcon01 -d "dc=contoso,dc=com" -p subtree -r "(objectCategory=user)" -l "sAMAccountname,givenname,sn,telephoneNumber" ACHTUNG: Die spitzen Klammern bei den Namen musst du schon weglassen. Zitieren Link zu diesem Kommentar
edocom 10 Geschrieben 18. September 2007 Autor Melden Teilen Geschrieben 18. September 2007 aha, cool jetzt bekomm ichs einigermassen hin :) jedoch hab ich noch da "changetype: add" woich nicht weis woher das kommt und wo ich gerne nicht hätte... zudem ist vor dem Benutzernamen dn: CN="Benutzername" wie bring ich das auch noch weg? im Excel? Zitieren Link zu diesem Kommentar
Daim 12 Geschrieben 18. September 2007 Melden Teilen Geschrieben 18. September 2007 Das changetype ist systembedingt und wird standardmäßig hinzugefügt was man imho nicht abstellen kann. Wie du das (mit Verbindung) in Excel formatieren musst, zeigt dir dieser Artikel: Importdateien für CSVDE.exe einfach generieren - faq-o-matic.net Das ganze lässt sich natürlich auch mit CSVDE lösen, bei ähnlicher Vorgehensweise, nur der Filter mit LDIFDE ist mir aber in Gedanken. Du müsstest einwenig mit der Hilfe und den Parametern hantieren, dann funktioniert das auch mit CSVDE. Hier noch weitere hilfreiche Artikel: Yusuf`s Directory - Blog - LDIFDE - LDAP Data Interchange Format Data Exchange LDIF-Generator für den Import in Active Directory - faq-o-matic.net csvde zum Import und Export von AD-Daten nutzen - faq-o-matic.net ldifde.exe zur AD-Bearbeitung - faq-o-matic.net Erzeugen von ldifde-Templates aus Excel mit GNU Awk - faq-o-matic.net Zitieren Link zu diesem Kommentar
~~~Dexter~~~ 10 Geschrieben 20. September 2007 Melden Teilen Geschrieben 20. September 2007 @edocom ADO (ActiveX Data Objects) verwendet den ADSI OLE DB-Provider, um Informationen aus Active Directory zu lesen. Die Einträge des Ergebnissatzes wird dann in eine Excel-Arbeitsmappe gespeichert. Option Explicit Const SUCHFILTER = "(objectCategory=user)" Const ATTRIBUTE = "sAMAccountName, sn, givenName, telephoneNumber" Const SUCHBEREICH = "subtree" Dim Arbeitsmappe, DBVerbindung, DBAbfrage, Ergebnissatz, Excel, Spalte, Suchbasis Set DBVerbindung = CreateObject("ADODB.Connection") With DBVerbindung .Provider = "ADsDSOObject" ' .Properties("User ID") = "" ' .Properties("Password") = "" .Open "Active Directory Provider" End With Set DBAbfrage = CreateObject("ADODB.Command") DBAbfrage.ActiveConnection = DBVerbindung Suchbasis = "<LDAP://" & GetObject("LDAP://rootDSE").Get("defaultNamingContext") & ">" With DBAbfrage .CommandText = Suchbasis & ";" & SUCHFILTER & ";" & ATTRIBUTE & ";" & SUCHBEREICH .Properties("Page Size") = 1000 .Properties("Timeout") = 30 .Properties("Cache Results") = False End With Set Excel = CreateObject("Excel.Application") Excel.Visible = True Set Arbeitsmappe = Excel.Workbooks.Add() Excel.Cells(1, 1).Value = "Anmeldename" Excel.Cells(1, 2).Value = "Name" Excel.Cells(1, 3).Value = "Vorname" Excel.Cells(1, 4).Value = "Telefon-Nr" Set Ergebnissatz = DBAbfrage.Execute Ergebnissatz.MoveFirst Spalte = 1 While Not Ergebnissatz.EOF Spalte = Spalte + 1 Excel.Cells(Spalte, 1).Value = Ergebnissatz.Fields("sAMAccountName").Value Excel.Cells(Spalte, 2).Value = Ergebnissatz.Fields("sn").Value Excel.Cells(Spalte, 3).Value = Ergebnissatz.Fields("givenName").Value Excel.Cells(Spalte, 4).Value = Ergebnissatz.Fields("telephoneNumber").Value Ergebnissatz.MoveNext WEnd DBVerbindung.Close Arbeitsmappe.SaveAs("c:\Active Directory Info.xls") Excel.Quit 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.