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

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

Link zu diesem Kommentar

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

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

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...