gpt4 book ai didi

c# - 如何更改 ADS 中的组名 (sAMAccountName)?

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

我正在尝试使用 C# 和 .NET 更改组的名称。它适用于以下代码:

    public void selectADSObject(string LDAP)
{
DirectoryEntry Entry = new DirectoryEntry(ADS_PATH);
Entry.Username = ADS_USER;
Entry.Password = ADS_PW;
DirectorySearcher Searcher = new DirectorySearcher(Entry);
Searcher.SearchScope = System.DirectoryServices.SearchScope.Subtree;
Searcher.Filter = LDAP;
AdObj = Searcher.FindOne();
AdObj.GetDirectoryEntry().Rename("cn=newName");
}

只有“windows-pre 2000”名称没有重命名,我也需要重命名。在 this页面 我发现 sAMAccountName 是我所追求的。但是当我添加以下行时,它也不会更改 pre-windows 2000 名称:

AdObj.GetDirectoryEntry().Properties["sAMAccountName"].Value = "newName";
AdObj.GetDirectoryEntry().CommitChanges();

如何更改 sAMAccountName/pre-windows 2000 名称?

最佳答案

每次调用时:

AdObj.GetDirectoryEntry()

它实际上创建了一个新对象!每一个变化都在下一行丢失。请使用类似的东西:

var dent = AdObj.GetDirectoryEntry()
dent.Properties["sAMAccountName"].Value = "newName";
dent.CommitChanges();
dent.rename("cn=newName");

关于c# - 如何更改 ADS 中的组名 (sAMAccountName)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15412492/

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