我正在创建一个WPF
应用程序,该应用程序使用PrincipleContext
从Active Directory中获取用户Guid
。
这是我的代码:
using System.DirectoryServices.AccountManagement;
private string GetUserGuid()
{
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, getUsername());
if (user != null)
{
return user.Guid.ToString();
}
else
{
return string.Empty;
}
}
但PrincipalContext
抛出Exception
:
System.DirectoryServices.AccountManagement.PrincipalServerDownException: 无法联系服务器。
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:1)
您未在PrincipalContext
中指定域名。
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
应该是:
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "yourdomain.com");
答案 1 :(得分:1)
也许我有点晚了,但我遇到了同样的问题而我正在寻找答案。根据我的测试,当我没有连接互联网或者我没有与机器的域相同的网络时,就出现了这个问题。 这对我来说很关键。
问候。