Jump to content

AD-Account per Script auf Aktivität überprüfen


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 hab die Aufgabe unser ADS auf inaktive Accounts zu überprüfen. Es sollen aber nicht nur die letzten Anmeldeinformationen ausglesen werden, sondern die AD-Benutzer sollen mit dem Benutzern unserer Zeiterfassung (AVERO) abgelichen werden. Sobald ein Benutzer in Avero nicht vorhanden ist, soll er aus dem AD gelöscht werden. Also bräuchte das Script eine Schnittstelle zu AVERO, is das überhaupt möglich? Das Löschen der Benutzer soll protokoliert werden. Da wir einige Funktionsbenutzer (wie Maschinen) haben, die nicht im Avero verzeichnet sind, sollen diese nicht gelöscht werden.

Da ich im Bezug auf Scripting wenig Ahnung habe, bin ich um jede Hilfe dankbar. Auch wenn jemand vielleicht nur zu einem Teilproblem eine Lösung hätte, wäre ich schon froh ;)

 

Vielen Dank schonmal im Vorraus!

 

Grüße

 

Dave

Link zu diesem Kommentar

Ich soll es zusammen mit einem Kollegen machen, der aber auch noch nicht so richtig weiß, wie wir rangehen sollen. Ich wollte mir schonmal so viele Informationen wie möglich holen.

Also Sprachentechnisch sind wir nicht festgelegt, es sollte möglichst einfach gehalten werden und keine zusätzlichen Tools benötigen. Kann man denn die zwei DB`s (Avero, ADS) vergleichen, also gibt es eine Schnittstelle ?

Link zu diesem Kommentar

Ist es möglich die ausglesenen User der AD bzw die von Avero jeweils in Arrays zu schreiben und dieses Arrays dann zu vergleichen?

 

Gruß

 

dave

 

 

PS: das habe ich bisher,also von jedem Container die User auslesen, aber so bringt mir das ja eigentlich nicht viel, ich muss sie ja dann mit was andrem vergleichen können.

 

Set ou = GetObject("LDAP://apjet01.test.de/ou=AVB,ou=BE,ou=MUE,dc=test,dc=de")

 

For Each obj In ou

WScript.Echo obj.name

Next

 

Set ou = GetObject("LDAP://apjet01.test.de/ou=EIN,ou=BE,ou=MUE,dc=test,dc=de")

 

For Each obj In ou

WScript.Echo obj.name

Next

 

Set ou = GetObject("LDAP://apjet01.test.de/ou=FTG,ou=BE,ou=MUE,dc=test,dc=de")

 

For Each obj In ou

WScript.Echo obj.name

Next

 

usw.

Link zu diesem Kommentar

Hmm,

 

also ein Array könntest Du innerhalb des Scripts schon aufbauen, dass würde dann so aussehen:

 

myArray = Array()

 

Set ou = GetObject("LDAP://apjet01.test.de/ou=AVB,ou=BE,ou=MUE,dc=test,dc=de")

 

For Each obj In ou

WScript.Echo obj.name

Redim Preserve myArray(Ubound(myArray)+1) ' ...das Array vergrössern

myArray(Ubound(myArray)) = obj.name ' ...und ein neues Element hinzu

Next

 

Aber Du hast dann wahrscheinlich Schwierigkeiten das Array mit einem anderen zu vergleichen innerhalb von vbscript...

 

Wie wäre es denn, wenn Du die Ausgabe Deines ursprünglichen Scripts in eine Datei umleitest:

 

c:\> cscript test.vbs >Ausgabe.txt

 

in Ausgabe.txt stehen jetzt alle Usernamen, die Du in den OUs gefunden hast. Die kannst du dann mit SORT sortieren und hast eine Liste, die du vergleichen kannst mit sonstwas...

 

Gruß,

Philipp

Link zu diesem Kommentar

Kann ich den Befehl c:\> cscript test.vbs >Ausgabe.txt in einer Batchdatei aufrufen wenn der Pfad D:\Scripting> cscript test.vbs >Ausgabe.txt lautet, bzw wie? :)

 

Und kann ich dann diese Batch Datei mittels:

 

Set WshShell = WScript.CreateObject("WScript.Shell")

Return = WshShell.Run("Laufwerk:\Verzeichnispfad\Batch.cmd ")

Set WshShell = Nothing

 

in meinem vbs-script aufrufen?

 

Oder kann ich den cmd Befehl D:\Scripting> cscript test.vbs >Ausgabe.txt direkt in mein vbs-script einbauen, das wäre natürlich noch einfacher =)

 

Gruß,

Dave

Link zu diesem Kommentar

;)

 

ich hab ja diesen cmd befehl zum schreiben meiner Ausgabe in eine Textdatei

D:\Scripting> cscript test.vbs >Ausgabe.txt

wie kann ich diesen Befehl in eine Batch einbauen?

 

Und kann ich diese von mir erstelle Batch dann in meinem vbs-script per

 

Set WshShell = WScript.CreateObject("WScript.Shell")

Return = WshShell.Run("Laufwerk:\Verzeichnispfad\Batch.cmd ")

Set WshShell = Nothing

 

aufrufen?

 

Am einfachsten wäre es natürlich den Befehl

D:\Scripting> cscript test.vbs >Ausgabe.txt direkt in mein vbs-script einzubauen ohne es mit einer batch zu umgehen

 

hoffe das war jetzt verständlicher :P

 

Gruß,

Dave

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...