ISecuritySubjectsSearch.DomainCredentials

Синтаксис

DomainCredentials: IDomainCredentials;

Описание

Свойство DomainCredentials определяет учетные данные, под которыми будет осуществляться авторизация в домене при поиске.

Пример

Для выполнения примера добавьте ссылку на системную сборку Metabase.

Sub FindSubject;
Var
    MB: IMetabase;
    Pack: ISecurityPackage;
    DomainCreds: IDomainCredentials;
    Search: ISecuritySubjectsSearch;
    Subjects: ISecuritySubjects;
    Subject: ISecuritySubject;
Begin
    MB := MetabaseClass.Active;
    Search := MB.Security.NewSubjectsSearch;
    Search.NameCriteria := "TestDomain\*";
    Search.SubjectCriteria(SecuritySubjectType.User) := True;
    Search.SubjectCriteria(SecuritySubjectType.Group) := True;
    Search.AreaIncludeDB := False;
    Search.AreaIncludeNT := True;
    //Настройки для поиска в домене
    Pack := New StandardSecurityPackage.Create;
    //Использовать учетные данные текущего пользователя, авторизовавшегося в домене
    DomainCreds := Pack.CreateCredentials(AuthenticationMode.Domain) As IDomainCredentials;
    DomainCreds.LogonAsCurrentUser := True;
    Search.DomainSelectCriteria := DomainSelectType.SpecifiedDomain;
    Search.ProtocolSelectCriteria := ProtocolSelectType.GC;
    //Поиск
    Search.ExecuteSearch;
    Subjects := Search.Subjects;
    If Subjects.Count > 0 Then
        For Each Subject In Subjects Do
            Debug.WriteLine("Distinguished Name: " + Subject.DistinguishedName);
            If Subject.Type = SecuritySubjectType.User Then
                Debug.WriteLine("Domain User Name: " + Subject.UserPrincipalName);
            End If;
        End For;
    End If;
End Sub FindSubject;

При выполнении примера будет произведен поиск всех субъектов безопасности, зарегистрированных в домене «TestDomain». Для найденных субъектов в консоль среды разработки будут выведены различающиеся имена. Для доменных пользователей также будут выведены доменные имена.

См. также:

ISecuritySubjectsSearch