gpt4 book ai didi

c# - 将启用的计算机添加到 Active Directory OU

转载 作者:行者123 更新时间:2023-11-30 15:30:55 27 4
gpt4 key购买 nike

我正在尝试以编程方式将计算机添加到我公司的 Active Directory。
我在互联网上搜索了很长时间,但找不到解决方案。

我的代码:

DirectoryEntry dirEntry = new DirectoryEntry("LDAP://OU=ou2example,OU=ou1example,DC=site,DC=company,DC=com");
dirEntry.Username = "username";
dirEntry.Password = "password";
DirectoryEntry newComputer = dirEntry.Children.Add("CN=" + ComputerName, "computer");
newComputer.CommitChanges();

我的问题:

计算机已添加到 Active Directory。但它被标记为已禁用。

enter image description here

我尝试按照以下方式启用计算机:

newComputer.Properties["userAccountControl"].Value = 0x200;

但我收到 DirectoryServicesCOMException --> 服务器无法完成请求。

newComputer.Properties["Enabled"].Value = true;

但我得到一个 DirectoryServicesCOMException --> 请求的操作不满足至少一个针对此对象类条件的约束。

请注意,异常(exception)情况已从德语翻译成英语!

感谢您的帮助!

最佳答案

我认为有两件事可能是错的,但我已经很久没有做这样的事情了,所以我可能错了......

首先,什么时候设置userAccountControl标志?我似乎记得您应该在新条目的 CommitChanges 之后执行此操作。所以像这样:

DirectoryEntry newComputer =
dirEntry.Children.Add("CN=" + ComputerName, "computer");
newComputer.CommitChanges();
newComputer.Properties["userAccountControl"].Value = 0x200;
newComputer.CommitChanges();

其次,您可以尝试设置 UF_WORKSTATION_TRUST_ACCOUNT 吗?标志 (0x1000) 而不是 UF_NORMAL_ACCOUNT (0x200).

您是否还可以检查条目的 sAMAccountType 是否为 SAM_MACHINE_ACCOUNT (0x30000001)。我认为这应该是自动的,但检查一下也无妨。

关于c# - 将启用的计算机添加到 Active Directory OU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21428263/

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