2010-09-20 3 views
1

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


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(); 

ответ

2

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

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

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

+0

Спасибо, что делает! – kateroh

Смежные вопросы