Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


yuriy.nepomnyashchiy.3@fb, вот прямо готового именно для Вашего конкретного случая с «EmployeeID» и «DisplayName» может и не быть, разумеется.

А так есть и в Script Center, и в отдельных chm-сборниках. Берём и лепим из кирпичиков нечто наподобие такого:
Скрытый текст



Код: Выделить весь код
Option Explicit

Sub Sample()
    Const ADS_UF_ACCOUNTDISABLE = 2

    Dim objRange As Range
    
    Dim objConnection As Object
    Dim objRecordSet As Object
    
    
    For Each objRange In ThisWorkbook.Worksheets.Item("Лист1").UsedRange.Rows
        If Not objRange.Row = 1 Then
            Set objConnection = CreateObject("ADODB.Connection")
            objConnection.Open "Provider=ADsDSOObject;"
            
            With CreateObject("ADODB.Command")
                .ActiveConnection = objConnection
                .Properties("Sort on") = "cn"
                
                .CommandText = _
                    "<LDAP://dc=mydomain,dc=local>;" & _
                    "(&(objectClass=user)(objectCategory=person)(employeeID=" & objRange.Cells(1, 1).Value & ")(displayName=" & objRange.Cells(1, 2).Value & "));" & _
                    "userAccountControl,distinguishedName;" & _
                    "subtree"
            
                Set objRecordSet = .Execute
            End With
            
            With objRecordSet
                Do Until .EOF
                    Debug.Print .Fields("distinguishedName")
                    
                    With GetObject("LDAP://" & .Fields("distinguishedName"))
                        .Put "userAccountControl", .Get("userAccountControl") Or ADS_UF_ACCOUNTDISABLE
                        .SetInfo
                    End With

                    .MoveNext
                Loop
                
                .Close
            End With
            
            objConnection.Close
            Set objConnection = Nothing
        End If
    Next
End Sub
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:26, 02-02-2015 | #4