4

グループの名前を変更しようとしています。私のコードは次のようになります

PrincipalContext context = new PrincipalContext(ContextType.Machine);
GroupPrincipal group = GroupPrincipal.FindByIdentity(context, "GroupName");
group.SamAccountName = "NewGroupName";
group.DisplayName = "NewGroupName";
group.Name = "NewGroupName";
group.Save();

問題は、クラッシュしgroup.DisplayName = "NewGroupName";て例外をスローすることです

プロパティは、このストア タイプには無効です。

その行をコメントアウトすると、コードは実行されますが、表示名を変更したいと思います。私はいくつかの研究を行い、これを見つけました。ただし、Framework 4.0 を使用しています。これを行う方法を誰かが知っていますか、それとも間違った方法で行っていますか?

4

1 に答える 1

4

group.Name = "Newname";熟慮の末、DirectoryEntry オブジェクトを取得してから変更するしか、作業を開始できないことがわかりました。以下のコード

PrincipalContext context = new PrincipalContext(ContextType.Machine);
GroupPrincipal group = GroupPrincipal.FindByIdentity(context, "GroupName");
var Groupentry = (DirectoryEntry)group.GetUnderlyingObject();
Groupentry.Rename("newname");
Groupentry.CommitChanges();
于 2013-01-17T11:21:06.423 に答える