Как добавить нового пользователя Windows в группу «Пользователи» по умолчанию - PullRequest
1 голос
/ 21 сентября 2010

У меня есть кусок кода, который создает пользователя Windows.Все хорошо, и пользователь действительно создан.Тем не менее, когда я пытаюсь вызвать PinUserProfile, операция завершается неудачно, поскольку пользователь не входит в группу «Пользователи».Теперь я знаю, как прагматично добавить этого пользователя в группу «Пользователи», но я не хочу жестко кодировать имя группы «Пользователи», поскольку оно может меняться в зависимости от локали.Есть ли способ добавить пользователя в группу «Пользователи» по умолчанию (кстати, команда runas user / add уже делает это)?


DirectoryEntry dirEntry = new DirectoryEntry("WinNT://" + domain);
DirectoryEntries entries = dirEntry.Children;
DirectoryEntry user = entries.Add(username, "User");
user.Properties["FullName"].Add("Dr Zoidberg");
user.Invoke("SetPassword", password);
user.CommitChanges();

1 Ответ

2 голосов
/ 21 сентября 2010

Windows и Active Directory имеют ряд «известных SID», которые являются идентификаторами безопасности для встроенных учетных записей и групп.Вы можете использовать известный SID для привязки к группе «Пользователи», потому что он не изменится независимо от локали.Администратор может даже переименовать группу «Пользователи» во что-то другое, но SID останется прежним.

Известные SID перечислены в System.Security.Principal.WellKnownSidType

См. http://msdn.microsoft.com/en-us/library/system.security.principal.wellknownsidtype.aspx для более подробной информации.

...