代码之家  ›  专栏  ›  技术社区  ›  kateroh

默认情况下如何将新的Windows用户添加到用户组

  •  1
  • kateroh  · 技术社区  · 15 年前

    我有一段代码可以创建一个Windows用户。一切都很好,用户确实是被创造出来的。但是,当我尝试PInvoke LoadUserProfile时,操作失败,因为用户不在用户组中。现在,我知道如何实事求是地将这个用户添加到用户组,但我不想硬编码组名“users”,因为它可能会根据区域设置而改变。在默认情况下,是否可以将用户添加到用户组(顺便说一下,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 回复  |  直到 15 年前
        1
  •  2
  •   Andrew Cooper    15 年前

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

    在System.Security.Principal.WellKnownsIDType中枚举了已知的SID。

    http://msdn.microsoft.com/en-us/library/system.security.principal.wellknownsidtype.aspx 了解更多详细信息。

    推荐文章