Jump to content

VBScript active directory export


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Geschrieben

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

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...