Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Программирование для администраторов
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

15.21 ADSI. Работа с почтовыми ящиками пользователей средствами ADSI

Работа с почтовыми ящиками Exchange Server скриптами ADSI на VBScript, создание почтовых ящиков из скрипта, настройка свойств почтовых ящиков в Active Directory

Операции с почтовым ящиком пользователя обычно включают в себя две взаимосвязанные задачи: действия с учетной записью пользователя в Active Directory и действия с объектом почтового ящика на сервере Exchange Server. Обычно для выполнения различных операций с почтовым ящиком на Exchange Server используются одновременно средства ADSI и интерфейс IMailBoxStore, в котором предусмотрены методы CreateMailbox(), MoveMailbox() и DeleteMailbox().

Создание почтового ящика может выглядеть, например, так:

strDCName = "LONDON3"  ' e.g. "<DC>"

strUserName = "ScriptUser"      ' e.g. "jrandomuser"

strFirstName = "Joe"

strLastName = "Blow"

strPassword = "G0bbeldygook!#"

' ------ END CONFIGURATION ------

Set oIADs = GetObject("LDAP://RootDSE")

strDefaultNC = oIADs.Get("defaultnamingcontext")

strConfigNC = oIADs.Get("configurationNamingContext")

strContainer = "/CN=Users," & strDefaultNC

Set objContainer = GetObject("LDAP://" & strDCName & strContainer)

Set NewUser = objContainer.Create("User", "cn=" & strUserName)

With NewUser

  .FirstName = strFirstName

  .LastName = strLastName

  .Put "sAMAccountName", strUserName

  .SetInfo

End With

With NewUser

   .AccountDisabled = False

   .SetPassword strPassword

   .SetInfo

End With

' Open the connection.

Set theConnection = CreateObject("ADODB.Connection")

Set theCommand = CreateObject("ADODB.Command")

Set theRecordSet = CreateObject("ADODB.Recordset")

theConnection.Provider = "ADsDSOObject"

theConnection.Open "ADs Provider"

' Build the query to find the private MDBs. Use the first

' one if any are found.

strQuery = "<LDAP://" & strConfigNC & _

    ">;(objectCategory=msExchPrivateMDB);name,adspath;subtree"

theCommand.ActiveConnection = theConnection

theCommand.CommandText = strQuery

Set theRecordSet = theCommand.Execute

If Not theRecordSet.EOF Then

    theRecordSet.MoveFirst

    firstMDB = CStr(theRecordSet.Fields("ADsPath").Value)

Else

    firstMDB = ""

End If

' create the mailbox

With NewUser

  .CreateMailbox firstMDB

  .SetInfo

End With

Wscript.Echo "Mailbox created successfully"

End Sub

Перемещение почтового ящика:

' ------ SCRIPT CONFIGURATION ------

 strServerName = "<dc>" ' e.g. "BATMAN"  

 strForest= "<forestDN>"  ' e.g. dc=robichaux, dc=net"

 strUser= "<userName>"    ' e.g. "Missy Koslosky"

 strTargetName = "<targetMDB>" ' e.g. "/CN=Mailboxes,CN=First Storage Group, CN=InformationStore,"

 strServerContainer = ",CN=servers,cn=<adminGroup>," &_

     "CN=administrative groups,cn=<orgName>,cn=" &_

     "Microsoft Exchange,cn=Services,cn=configuration," & strDomain

 ' e.g. ",CN=servers,cn=First Administrative Group,CN=administrative groups,cn=Robichaux and Associates,cn=Microsoft Exchange,cn=Services,cn=configuration," & strDomain

' ------ END CONFIGURATION ---------

' get the target user object

what = "LDAP://" & strServerName & "/CN=" & strUser &_

    ",CN=users," & strDomain

Set objUser = GetObject(what)

Set objMailbox = objUser

strTargetMDB = "LDAP://" + strServerName + strTargetName

strTargetMDB = strTargetMDB + "CN=" & strServerName &_

  strServerContainer

objMailbox.MoveMailbox strTargetMDB

objUser.SetInfo

WScript.Echo "Moved mailbox for " & strUser & " to  & strTargetName

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 

 
© 2004-2008, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru