Записать имя Windows-пользователя в описание, не создавая его в ОС

Учебные задачи

Задаём учебное доменное имя и разрешённый способ ОС только в незаписанном описании. Этот setter не проверяет наличие такого пользователя в Windows.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Используйте отдельную учебную базу с именем конфигурации Учебная85. Работайте под учебным администратором, которому доступно чтение и создание описаний пользователей.

  2. Создайте серверный общий модуль УчебныеЗадачи. Фрагмент вставьте в тело своей экспортной процедуры и запустите учебной командой.

  3. СоздатьПользователя создаёт описание, не запись списка пользователей. В коде намеренно отсутствуют Записать и Удалить: права, пароли и аутентификация существующих людей не меняются.

  4. Не добавляйте Записать к этим черновикам: для реального создания учётной записи нужны отдельная проверка ролей, способов входа и действующих политик.

УчебноеИмя = "Черновик_" + Строка(Новый УникальныйИдентификатор);
Если ПользователиИнформационнойБазы.НайтиПоИмени(УчебноеИмя) <> Неопределено Тогда
    ВызватьИсключение "Учебное имя уже занято: черновик не создаётся";
КонецЕсли;
Черновик = ПользователиИнформационнойБазы.СоздатьПользователя();
Черновик.Имя = УчебноеИмя;
Черновик.ПолноеИмя = "Учебный незаписанный пользователь";
Черновик.ПоказыватьВСпискеВыбора = Ложь;
Черновик.АутентификацияСтандартная = Ложь;
Черновик.АутентификацияОС = Ложь;
Черновик.ПользовательОС = "\\TRAINING\student01";
Черновик.АутентификацияОС = Истина;
Сообщить(Черновик.ПользовательОС = "\\TRAINING\student01");
Сообщить(Черновик.АутентификацияОС);
Сообщить(Не Черновик.АутентификацияСтандартная);
Сообщить(ПользователиИнформационнойБазы.НайтиПоИмени(УчебноеИмя) = Неопределено);
Сообщить(Черновик.УникальныйИдентификатор = Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000"));

Разбор по шагам

  1. ПользовательОС имеет формат \ИмяДомена\ИмяПользователя. В строке BSL обратная косая черта не является экранированием.

  2. TRAINING и student01 — учебные обозначения, настоящий домен для этого упражнения не нужен.

  3. Установка свойства не проверяет существование учётной записи ОС и не создаёт её.

  4. Стандартная аутентификация остаётся отключённой только в черновике. Настоящий Windows-вход этим упражнением не проверяется.

Как проверить результат

  1. Три сравнения Истина и отсутствие новой записи ИБ.

  2. Не ожидайте создания student01 в Windows или запроса к Active Directory.

  3. Две последние проверки Истина: имя не появилось в списке, UUID черновика остался нулевым.

Ожидаемый результат

Понятен формат сопоставления и отделён setter от проверки реального доменного входа.

На что обратить внимание

  1. Совпавшая строка не доказывает, что Windows-пользователь существует или имеет доступ к ИБ.

  2. Для реальной настройки нужно проверить домен, пользователя, роли и фактическую аутентификацию; здесь записи нет.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.