2

У нас есть приложение WPF, которое работает в полном доверии.PrincipalServerDownException в Windows XP, но не в Windows 7

Часть приложения проверяет членство в группе Windows AD.

Это прекрасно работает на компьютере с Windows 7, но не на компьютере с Windows XP.

Ошибка возникает в следующей строке:

PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "domain name"); 

ответ

2

Согласно статье Managing Directory Security Principals in the .NET Framework 3.5, то «доменное имя» переменная может не потребоваться. То есть, если вы обращаетесь к Active Directory в том же домене, что и ваше приложение, доменное имя не требуется.

используется параметр имени на конструктору PrincipalContext в для того, чтобы указать имя конкретного каталога для подключения. Это может быть имя конкретного сервера, машины или домена. Важно отметить, что если этот параметр равен нулю, AccountManagement попытается определить машину или домен по умолчанию для подключения на основе вашего текущего контекста безопасности.

Решение или обходной путь для этой проблемы (по крайней мере то, что работало на меня как на XP и W7) является следующее изменение:

PrincipalContext ctx = new PrincipalContext(ContextType.Domain, null); 
+0

Спасибо, это действительно исправить ошибки AD на Windows XP. +1 –

Смежные вопросы