Ste*_*ger 15 .net c# vb.net directoryservices active-directory
题:
我使用http://support.microsoft.com/kb/306273上的代码
添加Windows用户.问题是我需要将用户添加到组,但组名已本地化.
例如,MS-example使用英文计算机,这意味着您可以像这样获取访客组:grp = AD.Children.Find("Guests","group")
但是在非英语计算机上,"访客"组名是本地化的,例如在我的德语操作系统上,来宾的组名是"Gäste".
这意味着支持示例在我的计算机上运行我需要将该行更改为grp = AD.Children.Find("Gäste","group")
然后它工作.
现在,如果操作系统是任何其他语言,我如何找到访客用户的名称?或者如何从sid获取来宾用户名?
注意:.NET 2.0,而不是3.0或3.5
Coc*_*lla 12
正如您所指出的,组的名称根据系统语言进行了本地化.
对于"众所周知"的群组,例如"管理员"和"访客",您应该根据SID进行检索.客人的SID是:
S-1-5-32-546
Run Code Online (Sandbox Code Playgroud)
这里有一个众所周知的SID列表:
http://support.microsoft.com/kb/243330
可以在此处找到从SID获取组名的代码
您可以使用此代码,返回的值对于非英语系统是正确的:
var guestsGroup = new SecurityIdentifier(WellKnownSidType.BuiltinGuestsSid, null).Translate(typeof(NTAccount)).Value;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9390 次 |
最近记录: |