[Postfixbuch-users] Postfix und Exchange Server
Andreas Winkelmann
ml at awinkelmann.de
Sa Okt 1 15:13:36 CEST 2005
Am Saturday 01 October 2005 13:06 schrieb Mailinglisten:
> > > > Nur kann man das VBScript soweit abändern, das auch die
> > Mailadressen
> > > > von Verteilerlisten mit angezeigt werden ?
> > >
> > > Bestimmt geht das.
> >
> > Ja kann man. Dafür mußt du im AD nur Gruppen anlegen und den
> > eine Email-Adresse geben.
>
> Hm, also ich hab eine Universelle Verteilergruppe "Mailinglisten" angelegt,
> mit der Mailaddy maillinglist at city-box.de die dann in einen öffentlichen
> Ordner bereitstellt (was ja auch klappt, mit dem Account poste ich ja hier
> *g*)
>
> Aber wenn ich das Script ausführe, zeigt er nur die Adressen der wirklich
> realexistierenden Benutzer an (und deren zusätzliche Aliase).
Habe das Script gerade mal eben ein wenig angepasst. Gruppen sind dann auch
dabei und die Ausgabe muss nicht mehr mit awk o.ä. umgewandelt werden.
'---------------------------------------------------------------------------------------------------------------
' Export all valid recipients (= proxyAddresses) into a
' file virtual.txt
'
' Ferdinand Hoffmann & Patrick Koetter
' 20021100901
' Shamelessly stolen from
' http://www.microsoft.com/windows2000/techinfo/ \
' planning/activedirectory/bulksteps.asp
Option Explicit
'Global variables
Dim Container
Dim OutPutFile
Dim FileSystem
Dim objRootDSE
Dim strRootDomain
'Initialize global variables
Set FileSystem = WScript.CreateObject("Scripting.FileSystemObject")
Set OutPutFile = FileSystem.CreateTextFile("c:\\virtual.txt", True)
Set objRootDSE = GetObject("LDAP://rootDSE")
strRootDomain = "LDAP://" & objRootDSE.Get("rootDomainNamingContext")
Set Container = GetObject( strRootDomain )
'Enumerate Container
EnumerateUsers Container
'Clean up
OutPutFile.Close
Set FileSystem = Nothing
Set Container = Nothing
'Say Finished when your done
WScript.Echo "Finished"
WScript.Quit(0)
'List all Users
Sub EnumerateUsers(Cont)
Dim User
'Go through all Users and select them
For Each User In Cont
Select Case LCase(User.Class)
'If you find Users
Case "user", "group"
'Select all proxyAddresses
Dim Alias
If Not IsEmpty(User.proxyAddresses) Then
For Each Alias in User.proxyAddresses
If ( 0 = StrComp( Left(Alias,Len("smtp:")),"smtp:", 1 )) Then
OutPutFile.WriteLine Mid( Alias, Len( "smtp:" ) + 1 ) & vbTab & "OK"
End If
Next
End If
Case "organizationalunit" , "container"
EnumerateUsers User
End Select
Next
End Sub
'---------------------------------------------------------------------------------------------------------------
--
Andreas
Mehr Informationen über die Mailingliste Postfixbuch-users