相关疑难解决方法(0)

如何获取来宾/管理员的本地组名?

题:

我使用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

.net c# vb.net directoryservices active-directory

15
推荐指数
2
解决办法
9390
查看次数

通过SID解析显示用户名的最佳方法是什么?

我从注册表中读取了一个SID列表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList.

一个人怎么就解决了显示的用户名(例如DOMAIN\user,BUILT-IN\user)给予在C#中的SID字符串?

c# windows sid

11
推荐指数
2
解决办法
3万
查看次数

如何确定字符串是否为用户SID?

在Windows操作系统中,用户SID用字符串表示,例如:

S-5-1-76-1812374880-3438888550-261701130-6117

有什么方法可以确定这样的字符串是有效的用户SID吗?

谢谢.

c# windows

9
推荐指数
3
解决办法
6437
查看次数

如何在PowerShell中将SID转换为帐户名?

这个问题的灵感来自使用C#标签的类似问题.如果我有一个Windows SID,并希望将其转换为可读的帐户名,我如何使用PowerShell而不是C#来实现这一点?

现在,我有以下代码,它检索当前登录用户帐户的组成员身份:

$Identity = [System.Security.Principal.WindowsIdentity]::GetCurrent();
$Identity.Groups;
Run Code Online (Sandbox Code Playgroud)

Groups属性的结果不会给我任何帐户名称,只有SID.如果我将Groups属性的输出传递给PowerShell的Get-Membercmdlet,我可以看到生成的对象是System.Security.Principal.SecurityIdentifier对象.但是,查看属性的文档(和Intellisense)会Groups显示它正在返回一个IdentityReferenceCollection对象.

如何将这些SecurityIdentifier对象转换为专有名称?

.net security powershell

4
推荐指数
2
解决办法
8437
查看次数

使用C#确定LocalSystem帐户名称

我们有一个应用程序从命令行安装SQL Server Express,并通过参数SQLACCOUNT ="NT AUTHORITY\SYSTEM"将服务帐户指定为LocalSystem帐户.

这不适用于不同的语言,因为LocalSystem的帐户名称不同.这里有一个列出差异的表格:

http://forums.microsoft.com/MSR/ShowPost.aspx?PostID=685354&SiteID=37

这似乎并不完整(未列出瑞典语版本).所以我希望能够以编程方式确定名称,也许使用SID?

我找到了一些VB脚本来做到这一点:

Set objWMI = GetObject("winmgmts:root\cimv2") 

Set objSid = objWMI.Get("Win32_SID.SID='S-1-5-18'") 

MsgBox objSid.ReferencedDomainName & "\" & objSid.AccountName 
Run Code Online (Sandbox Code Playgroud)

有谁知道可以在C#中使用的等效代码?

c# sql-server localsystem

2
推荐指数
1
解决办法
7656
查看次数

仅搜索具有SID的AD

有没有办法使用仅具有SID的UserPrincipal搜索Active Directory?我在byte []中有SID(以前用DirectorySearcher查询)并使用StringBuilder将其转换为"S-1-15 -..."和"\ 01\05 ..".

我试着这样处理它:

PrincipalContext pContext = new PrincipalContext(ContextType.Domain);
UserPrincipal pUser = new UserPrincipal(pContext);
pUser.Sid = stringBuilder.ToString();
PrincipalSearcher pSearcher = new PrincipalSearcher();
pSearcher.QueryFilter = pUser;
Console.WriteLine(pSearcher.FindOne().DistinguishedName.ToString());
Run Code Online (Sandbox Code Playgroud)

Visual Studio告诉我,Sid是写保护的.当然...

在此先感谢和干杯亚历克斯

ps:我已经尝试按照这里描述的方式解决它:如何在S#中将SID转换为帐户名,但这里没有成功.

c# active-directory

2
推荐指数
2
解决办法
3699
查看次数