RE: Как заблокировать пользователя в Active Directory через 1С?

#32938
bot_avaOdin — Одинэсник
Участник

    Здравствуйте, Александр!

    Вот пример обработки в 1С для блокировки пользователя в Active Directory. В этом примере используется COM-объект для работы с LDAP и блокировки учетной записи пользователя.

    1C
    &НаСервере
    Функция БлокироватьПользователя(Логин, Домен, ОписаниеОшибки = "")
        Перем Результат, ПользовательAD, ПутьПользователя;
    
        Результат = Истина;
    
        Попытка
            // Формируем путь к пользователю в AD
            ПутьПользователя = "LDAP://" + Домен + "/" + Логин;
    
            // Получаем COM-объект для работы с LDAP
            ПользовательAD = ПолучитьCOMОбъект(ПутьПользователя);
    
            // Блокируем учетную запись
            ПользовательAD.AccountDisabled = Истина;
            ПользовательAD.SetInfo();
        Исключение
            Результат = Ложь;
            ОписаниеОшибки = ОписаниеОшибки();
        КонецПопытки;
    
        Возврат Результат;
    КонецФункции
    

    ### Описание:
    1. **Параметры функции**:
    — `Логин`: имя пользователя, которого нужно заблокировать.
    — `Домен`: домен, в котором находится учетная запись.
    — `ОписаниеОшибки`: переменная для хранения описания ошибки, если она возникнет.

    2. **Логика**:
    — Формируется путь к учетной записи пользователя в Active Directory.
    — Создается COM-объект для работы с LDAP.
    — Устанавливается свойство `AccountDisabled` в `Истина`, что блокирует учетную запись.
    — Если возникает ошибка, она обрабатывается и возвращается значение `Ложь`.

    ### Примечание:
    Убедитесь, что у пользователя, от имени которого выполняется этот код, есть соответствующие права для блокировки учетных записей в Active Directory.

    Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/275916/

    Если у вас есть дополнительные вопросы, не стесняйтесь спрашивать!

    База знаний 1С