Active Directory 是否可以防止不在域中的客户端进行修改?

发布于 2024-08-19 18:43:20 字数 948 浏览 10 评论 0原文

我有一个方法AddUserToGroup将用户添加到活动目录组。

我正在未连接到包含用户和组的域控制器的计算机上调用该方法。

调用 group.Save() 时,会引发 PrimaryOperationException:

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

AD 是否会阻止未在域中注册的客户端进行修改?我可以愉快地从同一个客户端查询域(例如,返回组中的用户)。

将用户添加到组的方法:

public static void AddUserToGroup(string userId, 
                                  string groupName)
{
    try
    {
        using (var pc = GetPrincipalContextFromConfig())
        {
            var group = GroupPrincipal.FindByIdentity(pc, groupName);
            try
            {
                group.Members.Add(pc, IdentityType.Guid, userId);
                group.Save();
            }
            catch (PrincipalExistsException e)
            {
              //...
            }                                                                
        }
    }
    catch (DirectoryServicesCOMException e)
    {                
        //...
    }
}

I have a method AddUserToGroup to add a user to an active directory group.

I am invoking the method on a machine not attached to the domain controller containing the user and group.

When group.Save() is invoked an PrincipalOperationException is thrown:

"Information about the domain could not be retrieved (1355)."

Does AD prevent modification from clients not registered with the domain? I can query the domain happily (for example, return the users in a group) from the same client.

The method to add a user to a group:

public static void AddUserToGroup(string userId, 
                                  string groupName)
{
    try
    {
        using (var pc = GetPrincipalContextFromConfig())
        {
            var group = GroupPrincipal.FindByIdentity(pc, groupName);
            try
            {
                group.Members.Add(pc, IdentityType.Guid, userId);
                group.Save();
            }
            catch (PrincipalExistsException e)
            {
              //...
            }                                                                
        }
    }
    catch (DirectoryServicesCOMException e)
    {                
        //...
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

眼眸里的快感 2024-08-26 18:43:20

无论您的应用程序在什么 ID 下运行,都需要具有对 AD 的“写”访问权限。几乎任何 ID 都可以查询 AD,但只有明确授予权限的 ID 才能对其进行写入。

Whatever ID your application is running under, needs to have "write" access to AD. Pretty much any ID can query AD but only ID's explicitly granted the privilege can write to it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文