Ошибка 1326, когда WNetAddConnection2 запускается учетной записью локальной системы

В моей среде у меня есть следующие машины в одном домене:

  • hostnam1 (Windows 7 Enterprise)
  • hostnam2 (Windows 7 Enterprise)
  • hostnam3 (управление доменом Windows Server 2012 R2)

У меня есть служба, которая работает как локальная системная учетная запись на hostname1. Служба, в свою очередь, запускает другой процесс, который наследует привилегии локальной системы и пытается получить доступ к общей папке \\ hostname2 \ ADMIN $. И hostname1, и hostname2 находятся в одном домене.

Я могу получить доступ к общей папке без учетных данных от hostname1 или hostname3, используя проводник, но когда порожденный процесс пытается использовать функцию WNetAddConnection2 для доступа к общей папке, возвращается ошибка 1326 (ERROR_LOGON_FAILURE (0x52E)). Тот же код работает на другом компьютере ( \\hostname3\ADMIN$). Учетные данные, переданные в функцию WNetAddConnection2, являются правильными. Тот же код работает, если он запускается локальным пользователем как обычный процесс.

Как я могу настроить hostname2 для приема соединений от локальной системной учетной записи?

Используя синтаксис hostname2\username, предложенный Гарри Джонстоном, мне удалось заставить работать функцию WNetAddConnection2 (возврат 0).

Однако, когда я вызываю функцию OpenSCManager, вот так:

OpenSCManager( "hostname2" , SERVICES_ACTIVE_DATABASE , SC_MANAGER_ENUMERATE_SERVICE);

Я получаю ошибку 5 (ERROR_ACCESS_DENIED (0x5)).

0 ответов

Другие вопросы по тегам