mainboard
Goto Top

Active Directory per VBScript auslesen

Hallo zusammen, ich bin neu in diesem Forum und bitte auch schon um Hilfe bei einem Problem.

Vorweg sei gesagt ich befinde mich zurzeit in einer Ausbildung zum Fachinformatiker und bin im Gebiet des Programmierens in VBS noch recht unversiert.

Mein Problem: Ich soll ein Script in VBS schreiben, mit dem ich alle User aus dem Active Directory auslesen kann.
Relevant sind hierbei Daten wie: Vorname, Nachname und besonders wichtig, ob der Haken bei "Password never expires" unter "Account Optiones" gesetzt ist oder nicht.
Optimal wäre es, wenn das Script die ausgelesenen Daten in eine Excel-Tabelle schreibt.
Die Angelegenheit wird zusätzlich dadurch erschwert, dass das Script bis morgen fertig sein soll...
Ich habe auch schon lange im Internet recherchiert, aber keine Möglichkeit gefunden die Option "Password never expires" auszulesen.

Ich hoffe, jemand von Euch kann mir dabei helfen.


Mit freundlichen Grüßen

Mainboard

Content-Key: 126224

Url: https://administrator.de/contentid/126224

Printed on: April 18, 2024 at 21:04 o'clock

Member: manuel-r
manuel-r Oct 01, 2009 at 10:05:28 (UTC)
Goto Top
Hier findest du ganz bestimmt was. Und da wahrscheinlich auch.

Manuel
Member: TsukiSan
TsukiSan Oct 01, 2009 at 15:03:56 (UTC)
Goto Top
Hallo Mainboard,

eventuell hilft dir dies etwas weiter:
'On Error Resume Next  

Const E_ADS_PROPERTY_NOT_FOUND  = &h8000500D

Set objOU = GetObject _
    ("LDAP://ou=DeineOU,dc=Firma,dc=local")  
  
ObjOU.Filter= Array("group")  
 
For Each objGroup in objOU
    objGroup.GetInfo
    arrMemberOf = objGroup.GetEx("member")  

    WScript.Echo "Members of """ & objGroup.cn & """:"  
    For Each strMember in arrMemberOf
        WScript.echo strMember
    Next

    WScript.Echo 
Next

Ein bisschen umschreiben musst du dann noch selber face-wink

Gruß
Tsuki
Member: TsukiSan
TsukiSan Oct 01, 2009 at 15:07:19 (UTC)
Goto Top
...einen hätt' ich noch!

On Error Resume Next

Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20

arrComputers = Array("DELLAX")  
For Each strComputer In arrComputers
   WScript.Echo
   WScript.Echo "=========================================="  
   WScript.Echo "Computer: " & strComputer  
   WScript.Echo "=========================================="  

   Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")  
   Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_GroupUser", "WQL", _  
                                          wbemFlagReturnImmediately + wbemFlagForwardOnly)

   For Each objItem In colItems
      WScript.Echo "GroupComponent: " & objItem.GroupComponent  
      WScript.Echo "PartComponent: " & objItem.PartComponent  
      WScript.Echo
   Next
Next

Gruß
Tsuki

Ps.: Leg dir mal den Scriptomat zu!
Member: Mainboard
Mainboard Oct 02, 2009 at 06:25:37 (UTC)
Goto Top
Hallo TsukiSan,

danke für die beiden Script, ich werd's gleich mal ausprobieren.