2010-09-20 56 views
1

我有一段代码可以创建Windows用户。一切都很好,用户确实创建。但是,当我试图锁定LoadUserProfile时,操作失败,因为用户不在Users组中。现在,我知道如何以实用的方式将用户添加到Users组,但我不想硬编码组名“Users”,因为它可能会根据语言环境而更改。有没有办法将用户添加到默认的用户组(顺便说一下,runas user/add命令已经这样做了)?默认情况下,如何向用户组添加新的Windows用户


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

Windows和Active Directory有许多“众所周知的SID”,它们是内置帐户和组的安全标识符。您可以使用众所周知的SID绑定到Users组,因为不管区域设置如何,它都不会更改。管理员甚至可以将用户组重命名为其他内容,但SID将保持不变。

众所周知的SID在System.Security.Principal.WellKnownSidType

列举详情请参阅http://msdn.microsoft.com/en-us/library/system.security.principal.wellknownsidtype.aspx

+0

谢谢,就是这样! – kateroh 2010-09-21 03:26:35

相关问题