affe2012 10 Geschrieben 16. November 2012 Melden Teilen Geschrieben 16. November 2012 Hallo, Ich möchte gerne vom Active directory von einer bestimmten OU die User in CSV exportieren.Dies funktioniert auch wunderbar. Es fehtl aber noch das Ablaufdatum der User, dies bekomme ich nicht hin. Ich habe es versuch mit: oSheet.Cells(iRow + 1, 7).Value = objRecordSet.Fields("AccountExpirationDate") aber leider ohne Erfolg. Kann mir da jemand weiterhelfen? danke im voraus. Set objConnection = CreateObject("ADODB.Connection") objConnection.Open "Provider=ADsDSOObject;" Set objCommand = CreateObject("ADODB.Command") objCommand.ActiveConnection = objConnection objCommand.Properties("Page Size") = 1000 objCommand.CommandText = _ "<LDAP://OU=User,dc=test-center,DC=de>;(objectCategory=user)" & _ ";sAMAccountName,displayName,description,title,department,company;subtree" Set objRecordSet = objCommand.Execute Dim oExcel, oSheet, iRow, iColumns, iColumn irow=0 Set oExcel = WScript.CreateObject("Excel.Application") oExcel.Visible = True oExcel.Workbooks.Add Set oSheet = oExcel.ActiveWorkBook.WorkSheets(1) While Not objRecordSet.EOF oSheet.Cells(iRow + 1, 1).Value = objRecordSet.Fields("sAMAccountName") oSheet.Cells(iRow + 1, 2).Value = objRecordSet.Fields("displayName") oSheet.Cells(iRow + 1, 3).Value = objRecordSet.Fields("description").Value oSheet.Cells(iRow + 1, 4).Value = objRecordSet.Fields("title") oSheet.Cells(iRow + 1, 5).Value = objRecordSet.Fields("department") oSheet.Cells(iRow + 1, 6).Value = objRecordSet.Fields("company") irow=irow+1 objRecordSet.MoveNext Wend MsgBox "erledigt" objConnection.Close Zitieren Link zu diesem Kommentar
NilsK 2.961 Geschrieben 16. November 2012 Melden Teilen Geschrieben 16. November 2012 Moin, das Feld AccountExpirationDate taucht in deiner LDAP-Abfrage ja auch nicht auf, dann kannst du es natürlich auch nicht als Spalte im Resultset ansprechen. Aber warum baust du dir einen CSV-Export selbst und nutzt nicht csvde.exe? Gruß, Nils Zitieren Link zu diesem Kommentar
dmetzger 10 Geschrieben 16. November 2012 Melden Teilen Geschrieben 16. November 2012 Hier will tatsächlich jemand das Rad neu erfinden. ;) Neben csvde.exe gäbe es auch das Active Directory-Modul für die Windows PowerShell mit dem get-ADUser cmndlet: Get-ADUser Zitieren Link zu diesem Kommentar
P.Foeckeler 11 Geschrieben 16. November 2012 Melden Teilen Geschrieben 16. November 2012 Hallo, das Attribut das Du lesen möchtest, heißt nicht "AccountExpirationDate", sondern vielmehr "accountExpires". Hier siehst du die technischen LDAP-Namen von User-Attributen: SelfADSI : Attribute für AD User (Windows 2008) Das Attribut ist nicht ganz trivial auszulesen, weil es als so genannter Integer8-DateTime Wert gespeichert wird. Das sind dann Datum+Zeit ausgedrückt als 100-Nanosekunden-Abschnitte seit 01.01.1601 !! :) Hier gibt's Infos, wie mn solche Werte umwandelt in ein lesbares Datum: SelfADSI : Microsoft Timestamp / Interval Attribute mit Integer8 Syntax Viel Spass beim Scripten! Philipp 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.