После некоторого обновления я вижу следующую проблему на всех рядовых серверах Windows Server 2003 (только для x86): вызовы LogonUser и LogonUserEx завершаются с ошибкой 1337 (структура идентификатора безопасности недопустима).
По сути, следующий код завершается ошибкой:
HANDLE token;
BOOL b = LogonUserA( "username", "DOMAIN", "password",
LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, &token );
Я также заметил следующее
- Запуск того же кода LogonUser, что и локальная система, работает нормально
- Запусккод в Windows Server 2003, не исправленный в течение длительного времени, работает нормально
- После последних исправлений WS2003 x86 завершается неудачно, GetLastError () возвращает 1337
- Настройка привилегии «действовать как часть операционной системы» не помогает,Также не разрешено явное включение привилегии SE_TCB_NAME в коде.
- Runas / user: DOMAIN \ username работает нормально, исправлен компьютер или нет
Кто-нибудь сталкивался с такой же проблемой?Microsoft признала это ошибкой?
Есть ли обходной путь?Поскольку runas работает, я предполагаю, что есть альтернативный способ сделать то, что делает LogonUser.