gpt4 book ai didi

C# 使用 DirectoryEntry 启用用户帐户

转载 作者:行者123 更新时间:2023-11-30 18:02:49 34 4
gpt4 key购买 nike

我想知道用户帐户是否启用。我使用这段代码:

  var usersList = new List<DirectoryEntry>();
DirectoryEntry localMachine = new DirectoryEntry("WinNT://" + computerName + ",Computer", Settings.UserName,Settings.UserPassword);

DirectoryEntry admGroup = localMachine.Children.Find(Settings.AdministratorsGroup, "group");

object members = admGroup.Invoke("members", null);

foreach (object groupMember in (IEnumerable)members)
{
DirectoryEntry member = new DirectoryEntry(groupMember);
var b = member.Properties["userAccountControl"].Value; // <---- value == null
usersList.Add(member);
}

我正确地获取了所有成员。
但是在member.Properties["userAccountControl"].Value 中出现错误。我知道使用 System.DirectoryServices.AccountManagement namepsace,但我想知道为什么这段代码不起作用。

最佳答案

您正在使用 WinNT:// 提供程序,它的功能非常有限。它不支持成熟的 LDAP:// 提供程序具有的许多常用属性 - 我认为这可能是此代码设置 userAccountControl 的原因(这是一个 LDAP 属性,很可能不存在并且不支持本地用户帐户)不起作用。

请参阅 Richard Mueller 的文章 WinNT vs. LDAP有关 WinNT:// 可以做什么(或不能做什么)的更多信息

关于C# 使用 DirectoryEntry 启用用户帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7827328/

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