Re: ActiveDirectory: Gruppen und Gruppen-Mitglieder auflisten

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance

From: Mario Rimann (expires-2004-08-31_at_usenet.rimann.li)
Date: 08/24/04


Date: Tue, 24 Aug 2004 13:47:23 +0200

On Mon, 23 Aug 2004 08:57:28 +0200, "Nils Kaczenski [MVP]"
<jensmander20@hotmail.de> wrote:

Hallo Alle!

> das müsste man eigentlich auch ohne Script mit csvde.exe hinbekommen
> (Kommandozeile eines DC). Der Gruppenexport funktioniert dort aber leider
> erst ab WS2003 richtig.

Ich habe probiert und probiert - und am Schluss eine für mich
funktionierende Lösung gefunden. Das untenstehende Script schreibt
eine Textdatei, listet jede Gruppe die eine Emailadresse besitzt, und
schreibt zu jeder Gruppe die Members.

Gerne möchte ich aber auch eine "umgekehrte" Liste erstellen. Alle
Benutzer aufgelistet - und dazu die Angabe, in welcher/n Gruppe/n der
Benutzer Member ist. Wie bekomm ich das hin?

Gruss
Mario

-----
'Stuff for creating output text file
Const OutputFile = ".\emailverteiler.txt"
Set Fso = CreateObject("Scripting.FileSystemObject")
Set Wshshell = Wscript.CreateObject("Wscript.Shell")
Set Output = Fso.OpentextFile(OutputFile, 2, True)

groupcounter = 0

' Datei-Header schreiben
strtimestamp = date & " " & time
Output.WriteLine "==============================================="
Output.WriteLine " Liste aller Email-Verteiler"
Output.WriteLine " ---------------------------"
Output.WriteLine
Output.WriteLine " Liste erstellt: " & strtimestamp
Output.WriteLine

Set objOU = GetObject ("LDAP://dc=unseredomain,dc=local")
objOU.GetInfo

for each group in objOU
   if group.mail <> "" Then
   groupcounter = groupcounter + 1

   personcounter = 0
   Output.WriteLine "==============================================="
   Output.WriteLine
   Output.WriteLine
   Output.WriteLine "Gruppe: " & Mid(group.name, 4)
   Output.WriteLine "Email: " & group.mail
   Output.WriteLine "-----------------------------------------------"

   For each objMember in group.Members
        Output.WriteLine Mid(objMember.Name, 4)
        personcounter = personcounter + 1
   Next

   Output.WriteLine
   Output.WriteLine "Anzahl Empfänger: " & personcounter
   End If
next

Output.WriteLine
Output.WriteLine
Output.WriteLine "==============================================="
Output.WriteLine "Anzahl Mailverteiler: " & groupcounter



Relevant Pages