Jump to content
Sign in to follow this  
DDave

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

Recommended Posts

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

Share this post


Link to post

Wieso bekommst du die Aufgabe, ein nicht ganz unkomplexes Skript zu erstellen, wenn du nach eigener Aussage keine Ahnung vom Skripten hat?

 

In welcher Sprache willst du es denn schreiben? Winbatch, Perl, Brainf.uck ?

Share this post


Link to post

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 ?

Share this post


Link to post
Ich soll es zusammen mit einem Kollegen machen, der aber auch noch nicht so richtig weiß, wie wir rangehen sollen. .

 

Da seid ihr ja ein DreamTeam mit den besten Voraussetzungen :D

 

Sorry, das alles meinst du doch nicht ernst, oder ?

Share this post


Link to post

ja total überqualifiziert ;) Es ist zum Glück ein Nebenprojekt, für das wir Zeit haben..

 

hm, ist eigentlich meiner voller Ernst ja. Ich will auch gar keine Komplettlösung, ein paar Ansätze würden mir reichen.

Share this post


Link to post
P.Foeckeler : Das ADSI Scripting Tutorial / Das LDAP Scripting Tutorial

 

Super, schonmal ein erster Ansatzpunkt - danke! :)

 

Gruß

Dave

Share this post


Link to post

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.

Share this post


Link to post

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

Share this post


Link to post

Moin,

 

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

 

beispielsweise mit diesem Verfahren:

faq-o-matic.net Unterordner vergleichen

 

Gruß, Nils

Share this post


Link to post

Super danke! 2 richtig hilfreiche Antworten!

Ich werd das mal ausprobieren und dann Rückmeldung geben :)

 

Gruß,

Dave

Share this post


Link to post

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

Share this post


Link to post

Moin,

 

kannst du die Frage bitte noch mal so stellen, dass man sie versteht?

 

Gruß, Nils

Share this post


Link to post

;)

 

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

Share this post


Link to post

Und wie wärs, wenn Du Dein vbs-Script mit jenem "test.vbs" einfach kombinierst in einer einzigen VBS-Datei?

 

Eine VBS, die eine Batch, welche dann eine VBS aufruft... klingt wie'n nicht gestandener doppelter Rittberger :D

Share this post


Link to post
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...