Ошибка "указанное сетевое имя больше недоступно" с помощью LogonUser() в файле импорта DLL advapi32.dll

У меня есть C# MVC3 .Net веб-приложение, использующее.Net Framework 4.0. В нашем коде мы DLLImport advapi32.dll и используем метод LogonUser() для Impersonate() пользователя, чтобы сделать FileIO на общем диске в нашей сети. Это работало очень хорошо до вчерашнего дня. Теперь это работает только с перерывами. Мы получаем ошибку "Указанное имя сети больше не доступно". Однако при переходе на общий диск все работает нормально. Я разговаривал с нашей группой Windows, и учетная запись, которую мы используем для доступа к общим ресурсам, не заблокирована. Как я уже сказал, это действительно работает время от времени. Это шоу-стоппер для нас.

1 ответ

Мы нашли проблему. Сетевая команда обновила версию Active Directory до уровня программы 2008 R2 на одном из кластерных серверов, на которых размещен общий диск. Каким-то образом это нарушило учетные данные учетной записи службы, которую мы используем. Сброс пароля учетной записи службы обновил объект учетной записи службы в Active Directory. После этого все заработало. Удивительно, но факт....

Если кто-то знает, почему это могло произойти, не стесняйтесь комментировать

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