Как создать локальную группу пользователей (в C#)
Я ищу способ программного создания локальной группы пользователей. Я нашел много примеров того, как запрашивать и добавлять пользователей, но ничего не могу понять о том, как создать новую группу.
var dirEntry = new DirectoryEntry(
"WinNT://" + Environment.MachineName + ",computer");
/* Code to test if the group already exists */
if (!found)
{
DirectoryEntry grp = dirEntry.Children.Add(groupName, "Group");
dirEntry.CommitChanges();
}
Это то, к чему я пришел, но я знаю, что это неправильно, как CommitChanges()
просто бросает!--2-->.
я использовал это в качестве образца, но я даже не могу заставить его работать (спасибо MS):
http://msdn.microsoft.com/en-us/library/ms815734
У кого-нибудь есть фрагмент кода, который я могу использовать для создания новой локальной группы?
2 ответов
это работает для меня:
var ad = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer");
DirectoryEntry newGroup = ad.Children.Add("TestGroup1", "group");
newGroup.Invoke("Put", new object[] { "Description", "Test Group from .NET" });
newGroup.CommitChanges();
адаптировано из этой статья о пользователях.
похоже, вы пропустили вызов " Put " в своем примере - я думаю, поэтому вы видите NotImplementedException.
вы можете попробовать следующее (сам не пробовал):
PrincipalContext context = new PrincipalContext(ContextType.Machine);
GroupPrincipal group = new GroupPrincipal(context);
group.Name = model.Name;
group.Save();
использует System.DirectoryServices.AccountManagement
.