如何修改ADS中的组名sAMAccountName

本文关键字:sAMAccountName ADS 何修改 修改 | 更新日期: 2023-09-27 18:04:06

我正在尝试用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"的名字不能重命名,我也需要重命名它。在这一页,我发现sAMAccountName就是我要找的。但是当我添加以下行时,它也不会改变windows 2000之前的名称:

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

如何更改sAMAccountName/windows 2000之前版本的名称?

如何修改ADS中的组名sAMAccountName

每次调用:

AdObj.GetDirectoryEntry()

它实际上创建了一个新对象!每一个更改都在下一行丢失。请使用如下格式:

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