Re: Komtrolle der neu angelegten Mailboxen
From: Peter Veith (peter.veith_at_procosoft.de)
Date: 01/17/05
- Next message: Christian Sander: "Nachverfolgung in öffentlichem Kontaktordner"
- Previous message: Mike: "Exchange 2003 Offline Adressbuch"
- In reply to: Walter Steinsdorfer: "Re: Komtrolle der neu angelegten Mailboxen"
- Next in thread: Walter Steinsdorfer: "Re: Komtrolle der neu angelegten Mailboxen"
- Reply: Walter Steinsdorfer: "Re: Komtrolle der neu angelegten Mailboxen"
- Messages sorted by: [ date ] [ thread ]
Date: Mon, 17 Jan 2005 16:26:42 +0100
Hallo Walter,
ich suche eine Lösung echt per Script. Der unten angegebene Script (ist nur
ein Auszug mit dem Wesentlichen) legt im ersten Teil einen User an, der dann
zwar eine eMailadresse Anton.Bruckner@xyz.de hat, aber keine Mailbox. Im
zweiten Teil soll eine Mailbox angelegt werden, was aber mit dem Fehler
endet, User hat schon ein Mailadresse.
Lasse ich im ersten Teil die Zeile mit oUsr.Put MailNickName weg, wird im
zweiten Teil tatsächlich eine Mailbox erstellt. Allerdings lautet dann die
eMail-Adresse AB999@xyz.de (also der sAMAccountName wird verwendet). Sie
sollte aber Anton.Bruckner@xyz.de lauten!
Ich dachte, dass es eine scriptbasierte Lösung gibt, mit der entweder die
eMailadresse geändert, oder eine neue zusätzlich angelegt werden kann.
Vielleicht müsste ich auch nur den Script etwas abändern (aber wie?).
Der ganze Script läuft dann so ab, dass die Daten für viele User aus einer
Exceltabelle ausgelesen und automatisch ins AD bzw Exchange eingetragen
werden, ohne dass ich manuell einzugreifen hätte.
Vielleicht sollte ich das Problem in einer anderen NG schildern!
mfg
Peter Veith
Script-Auszug
sCN = "Anton Bruckner"
ssAMAccountName = "AB999"
sMailNickName = "anton.bruckner"
sSN = "Bruckner"
sGivenName = "Anton"
sDisplayName = "Bruckner Anton"
' TEIL 1 User Account anlegen
Set oRoot = GetObject("LDAP://rootDSE")
sDomain = oRoot.Get("DefaultNamingContext")
Set oDomain = GetObject("LDAP://" & sDomain)
set oOU = GetObject("LDAP://CN=Users," & sDomain)
Set oUsr = oOU.Create("user", "CN=" & sCN)
oUsr.Put "sAMAccountName", ssAMAccountName
oUsr.Put "MailNickName", sMailNickName '********
oUsr.Put "SN", sSN
oUsr.Put "GivenName", sGivenName
oUsr.Put "DisplayName", sDisplayName
oUsr.SetInfo
oUsr.AccountDisabled = FALSE
oUsr.SetInfo
' Damit ist der User angelegt und hat eine eMail-Adresse
' anton.bruckner@xyz.de
' TEIL 2 Mailbox anlegen
Set oIADS = GetObject("LDAP://RootDSE")
strDefaultNC = oIADS.Get("defaultnamingcontext")
Set oIADSUser = GetObject("LDAP://CN=" & sCN & ", CN=Users," & strDefaultNC)
Set oMailBox = oIADSUser
oMailbox.CreateMailbox FindAnyMDB("CN=Configuration," & strDefaultNC)
oIADSUser.SetInfo
Function FindAnyMDB(strConfigurationNC)
' Open the Connection.
Set oConnection = CreateObject("ADODB.Connection")
set oCommand = CreateObject("ADODB.Command")
Set oRecordSet = CreateObject("ADODB.Recordset")
oConnection.Provider = "ADsDSOObject"
oConnection.Open "ADs Provider"
' Build the query to find the private MDB.
strQuery = "<LDAP://" & strConfigurationNC &
">;(objectCategory=msExchPrivateMDB);name,adspath;subtree"
oCommand.ActiveConnection = oConnection
oCommand.CommandText = strQuery
Set oRecordSet = oCommand.Execute
' If you have an MDB, return the first one.
If Not oRecordSet.EOF Then
oRecordSet.MoveFirst
FindAnyMDB = CStr(oRecordSet.Fields("ADsPath").Value)
End If
End Function
- Next message: Christian Sander: "Nachverfolgung in öffentlichem Kontaktordner"
- Previous message: Mike: "Exchange 2003 Offline Adressbuch"
- In reply to: Walter Steinsdorfer: "Re: Komtrolle der neu angelegten Mailboxen"
- Next in thread: Walter Steinsdorfer: "Re: Komtrolle der neu angelegten Mailboxen"
- Reply: Walter Steinsdorfer: "Re: Komtrolle der neu angelegten Mailboxen"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|