При получении подключения к удаленному серверу IIS 6 из приложения C #, работающего под управлением IIS 5.1, я получаю COMException «Access Deined».
Есть идеи? У меня все те же проблемы с оригинальными вопросами.
Обновление - 4/1/09
Я нашел это решение (http://www.codeproject.com/KB/cs/Start_Stop_IIS_Website.aspx), которое состоит из оконного приложения, соединяющегося с сервером IIS для запуска и остановки веб-сайтов. Я могу запустить его на своей рабочей станции и подключиться к серверу IIS.
Тьфу ... почему я могу запустить это отдельное приложение, но не мое приложение ASP.NET?
Оригинал
Я получаю исключение COMException «Отказано в доступе» при попытке подключиться к IIS с удаленного компьютера с помощью метода DirectoryEntry.Exist, чтобы проверить, действителен ли сервер IIS.
string path = string.Format("IIS://{0}/W3SVC", server);
if(DirectoryEntry.Exist(path))
{
//do something is valid....
}
Я являюсь членом группы активных каталогов, которая была добавлена в группы администраторов на сервер IIS, к которому я пытаюсь подключиться.
Кто-нибудь сталкивался с этой проблемой и знает, как ее решить?
ОБНОВЛЕНИЕ:
@ Kev - это приложение ASP.NET. Также я могу подключиться без имени пользователя и пароля к удаленному серверу через IIS6 Manager.
@ Chris - я пытаюсь подключиться к удаленному серверу, чтобы отобразить количество виртуальных каталогов и определить версию .NET Framework для каждого каталога. См. этот ТАК вопрос.
@ dautzenb - мое приложение ASP.NET работает под управлением IIS 5.1, пытаясь подключиться к серверу IIS 6. Я вижу аудит ошибок в журнале безопасности моей локальной учетной записи ASPNET на удаленном сервере. Когда я пытаюсь отладить приложение, я работаю под своей учетной записью домена и все равно получаю, что в доступе отказано.
ОБНОВЛЕНИЕ 2:
@ Kev - мне удалось установить создание объекта DirectoryEntry с использованием следующей перегрузки:
public DirectoryEntry
(
string path,
string username,
string password
)
Но все свойства содержат «сгенерированное исключение типа« System.Runtime.InteropServices.COMException », пока я отлаживаю приложение.
Кроме того, для свойства AuthenticationType установлено значение Безопасный.
ОБНОВЛЕНИЕ 3:
Следующие две записи аудита сбоев были в журнале событий безопасности удаленного сервера IIS каждый раз, когда я пытался установить соединение:
Первое событие:
Категория события: вход в аккаунт
Код события: 680
Журнал попытки: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0
Вход в систему: ASPNET
Рабочая станция источника:
Код ошибки: 0xC0000234
Второе событие:
Категория события: вход / выход
Код события: 529
Ошибка входа:
Причина: неизвестное имя пользователя или неверный пароль
Имя пользователя: ASPNET
Домен: (MyDomain)
Тип входа: 3
Процесс входа в систему: NtLmSsp
Пакет аутентификации: NTLM
Имя рабочей станции: (MyWorkstationId)
Имя пользователя звонящего: -
Домен вызывающего абонента: -
Идентификатор входящего звонка: -
Идентификатор вызывающего процесса: -
Транзитные услуги: -
Адрес исходной сети: 10.12.13.35
Исходный порт: 1708
Олицетворение имеет значение true, а имя пользователя и пароль не заполнены. Он использует учетную запись ASPNET на удаленном сервере IIS.