Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法检索有关域的信息(1355)_C#_Active Directory_Account Management - Fatal编程技术网

C# 无法检索有关域的信息(1355)

C# 无法检索有关域的信息(1355),c#,active-directory,account-management,C#,Active Directory,Account Management,这是我的代码示例 var domainContext = new PrincipalContext(ContextType.Domain, "domain_server_ip", "domain_admin_username", "domain_admin_password"); var group = GroupPrincipal.FindByIdentity(domainContext, "mygroup"); var users = group.Members.

这是我的代码示例

var domainContext = new PrincipalContext(ContextType.Domain, "domain_server_ip",  
            "domain_admin_username", "domain_admin_password");
var group = GroupPrincipal.FindByIdentity(domainContext, "mygroup");
var users = group.Members.Where(member => names.Contains(member.Name))
            .ToList();
users.ForEach(u => group.Members.Remove(u));
group.Save(domainContext); // <-- Here I get the error
var domainContext=new PrincipalContext(ContextType.Domain,“域\服务器\ ip”,
“域管理员用户名”、“域管理员密码”);
var group=GroupPrincipal.FindByIdentity(domainContext,“mygroup”);
var users=group.Members.Where(member=>names.Contains(member.Name))
.ToList();
users.ForEach(u=>group.Members.Remove(u));

group.Save(域上下文);// 尝试将要查询的域控制器的IP地址(在第一行-domain_server_IP中)添加为网卡IP设置上的第一个DNS服务器。
(借用)我也有同样的问题

我们案例中的问题是目标是一个外部域服务器。对于某些请求,.net Ad库似乎从外部Ad服务器(服务器自行解析的服务器)获取显式FQDN,并且在所有情况下都不尊重您作为PrincipalContext构造函数名称提供的FQDN或ip

因此,我的客户机位于x.Domain1,外部Ad服务器(server1.x.Domain2)用于域x.Domain2

Domain1的标准dns将ADSServer解析为server1.x.Domain1。这个Dns不知道域名2。这就是问题所在

要解决这个问题,你有三个选择

  • 从外部Ad服务器添加ip作为您的主dns(不要忘记在这之后启用/禁用适配器)(我们不提供此选项)
  • 编辑主机文件并添加2个入口:(适用于测试,但不适用于生产)
    IpofDomain2Server服务器1.x.Domain2
    IPofDomain2服务器x.Domain2
  • 与基础设施交谈,为Domain1中的Domain2添加上述DNS入口(DNS转发?)

  • 你解决过这个问题吗?与group.GetMembers()有相同的问题,但在foreach中枚举时会引发异常,因此不会枚举任何成员,其中有一些外部原则,但信任存在,可以建立到外部域的连接。@user2782999:不是这样,我必须使用旧的COM对象:(我也面临着同样的问题,我在那篇帖子上找到了一些有趣的信息@gipinani:谢谢提醒!如果你发现了什么,请将其发布在这里作为答案,以便其他人能够找到合适的解决方案。当我遇到这个问题时(两年多前),我必须找到一个快速的解决方案,因此我使用了旧的COM对象:(如果您连接的计算机不是您连接的域拓扑的一部分,则可能会发生这种情况。请在此处提交错误:
    var user = UserPrincipal.FindByIdentity(domainContext, "username");
    var gps = user.GetGroups(domainContext).ToList(); // <-- Here I get the error