从SID获取非Pre-Windows 2000组名

时间:2017-12-07 05:38:08

标签: c# active-directory

我有一个SID代表不同域名的组。

我正在尝试使用以下方式获取群组名称:

$objSid = New-Object 'System.Security.Principal.SecurityIdentifier'($Sid)
$objUser = $objSid.Translate([System.Security.Principal.NTAccount])
$groupName = $objUser.Value

但是,这会返回与实际组名称不同的Windows 2000之前的名称(前面有A_)。

如何获取真实的组名而不是Windows 2000以前的组名?

编辑: iRon提到我可以使用(Get-ADGroup $GroupName).Name,但我现在需要在C#中编写它。第一部分很容易翻译,但是如何获取Get-ADGroup命令行开关的C#代码?

1 个答案:

答案 0 :(得分:0)

原来,Windows 2000之前的名称只是samAccountName。 因此,要获取组名,您只需要使用samAccountName = pre-Windows 2000名称搜索组。 这可以使用DirectorySearcher在C#中轻松完成。