gpt4 book ai didi

c# - 即使我知道该组存在,为什么 GroupPrincipal.FindByIdentity 仍返回 null?

转载 作者:行者123 更新时间:2023-12-02 08:21:01 25 4
gpt4 key购买 nike

为什么会

GroupPrincipal group = GroupPrincipal.FindByIdentity(getPrincipalContext(), 
"TEST_DESTINATION_GRP");

返回null?我知道 TEST_DESTINATION_GRP 存在于群组组织单位下。

我的代码:

private void addUserToGroup(string userName, string groupName)
{
try
{
UserPrincipal user = UserPrincipal.FindByIdentity(getPrincipalContext(), IdentityType.SamAccountName, "jcolon");
GroupPrincipal group = GroupPrincipal.FindByIdentity(getPrincipalContext(), "TEST_DESTINATION_GRP");
//just to show that I can access AD
ArrayList x = getUserGroups(userName);

foreach (var xy in x)
{
Console.WriteLine(xy);
}//I can access AD FINE

if (group == null)
{ Console.WriteLine("Wtf!"); }
Console.WriteLine(user);
Console.WriteLine(group + "empty why!!!!");
}
catch (Exception e)
{
//log e
}
}

private PrincipalContext getPrincipalContext()
{
PrincipalContext oPrincipalContext = new PrincipalContext(ContextType.Domain, sDomain,sDefaultOU);
return oPrincipalContext;
}

上述代码的输出为:

Domain UsersGRP_ADMIN_SERVERGRP_PROG_IIICTXXA-FlexUserCTXXA-UsersWtfAbanico, Elnora@MSHempty why!!!!

有什么想法吗?

最佳答案

您的 getPrincipalContext 方法中的 sDomainsDefaultOU 的值是什么?

我会尝试以下步骤:

  1. 构建不带任何域或 OU 名称的 PrincipalContext - 在这种情况下,将使用您的默认域及其顶级节点:

    PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

    立即搜索 - 它是否找到您正在寻找的群组?

  2. 检查以确保域和 sDefaultOU 值正确 - 如果您将主体上下文连接到一个 OU,显然您无法在另一个 OU 中进行搜索(除非它是子 OU)您要连接到的 OU 的名称)。

关于c# - 即使我知道该组存在,为什么 GroupPrincipal.FindByIdentity 仍返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6949456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com