'''' create a account Set adNewUser = adDomain.Create("user", "cn=" & sAccount) adNewUser.Put "sAMAccountName", sAccount adNewUser.Put "userPrincipalName", sAccount & "@" & Domain adNewUser.FullName = sFullName adNewUser.Description = sDesc adNewUser.SetInfo
adNewUser.SetPassword sPassword adNewUser.AccountDisabled = False '''' create mailbox for this account Set oExchServer = New CExchageManager oExchServer.Connect m_sExchServer '''' Get Exchange Server''''s Information Set oMailStore = adNewUser Call oMailStore.CreateMailbox("LDAP://" & m_sExchServer & "/" & oExchServer.DefaultMailboxStore) adNewUser.SetInfo
'''' enable immediate-logon for the user adNewUser.Put "msExchUserAccountControl", 2 adNewUser.SetInfo End Function
- 查找。通过ADO查询比较简单,只是属性的类型,特别是一些多值属性需要额外注意。
这个例子是查询所有指定域中所有的组,其中description就是一个多值属性。
Public Function SearchGroup() As ADODB.Recordset Dim oResult As ADODB.Recordset Dim oCommand As ADODB.Command Dim sConnectionStr As String If m_sAdmin = vbNullString Then sConnectionStr = "Provider=ADsDSOObject" Else sConnectionStr = "Provider=ADsDSOObject;UID=" & m_sAdmin & ";PWD=" & m_sAdminPwd End If Set oCommand = New ADODB.Command With oCommand .ActiveConnection = sConnectionStr .CommandTimeout = 15 .CommandText = "SELECT name,description FROM ''''LDAP://" & m_sDomain _ & "'''' WHERE objectCategory=''''group''''" Debug.Print .CommandText .Properties("searchscope") = ADS_SCOPE_SUBTREE .Properties("Chase referrals") = ADS_CHASE_REFERRALS_EXTERNAL Set oResult = .Execute End With If Not oResult Is Nothing Then Do Until oResult.EOF Debug.Print oResult("name"), oResult("description")(0) oResult.MoveNext Loop End If End Function
PS:很久以前写的东西,望指正。
上一页 [1] [2] |