Я использую apis System.DirectoryServices.AccountManagement для создания нового пользователя / отключения учетной записи в Active Directory. Когда я пытаюсь создать нового пользователя и установить его пароль, m / c выдает исключение с сообщением Сервер RPC недоступен. (Исключение из HRESULT: 0x800706BA). Следующий фрагмент используется для создания и сохранения пользователя.
UserPrincipal user = new UserPrincipal (ctx);
user.GivenName = "Andrew";
user.Surname = "Зеленый";
user.EmailAddress = "accepten@gmail.com";
user.SamAccountName = "agreen";
user.Save ();
user.SetPassword ( "PQW ^ & 12");
user.Save ();
Когда я выполняю это, код выдает исключение, как только он пытается установить пароль. После небольшого поиска в сети я опробовал следующие вещи.
Поскольку acct agreen создается без пароля, нет никаких привилегий или проблем с подключением. Я добавил инструментарий управления Windows (WMI) в качестве исключения в брандмауэр Windows на моем компьютере AD. Я убедился, что на компьютере AD работают следующие службы RPC Endpoint Mapper, Удаленный вызов процедур, Удаленный реестр. Убедитесь, что для учетной записи, которая используется для подключения к машине AD, включена функция «Удаленный контроль». Я проверил, что порт 135 не заблокирован на машине AD. У меня есть установка b1 под управлением Microsoft Windows 7 Professional, которая пытается подключиться к блоку b2, работающему под управлением Microsoft Windows Server 2008 R2 enterprise. Код c # работает на платформе .Net4.5 на b1 и пытается создать учетную запись на b2.
Когда я попытался запустить код из того же самого ящика (то есть ящика с AD), я смог успешно создать учетную запись с паролем, когда я указал IP-адрес как localhost, но когда я указал его как IP-адрес m / c, он не удалось с тем же исключением
Пожалуйста, дайте мне знать, что я делаю неправильно.
Спасибо
источник