我正在使用.Net庫的System.DirectoryServices.AccountManagement部分連接到ActiveDirectory。從UserPrincipal對象獲取nETBIOSName
已經叫GetMembers()一個GroupPrincipal對象和過濾結果,我現在有UserPrincipal對象的集合
GroupPrincipal myGroup; // population of this object omitted here
foreach (UserPrincipal user in myGroup.GetMembers(false).OfType<UserPrincipal>())
{
Console.WriteLine(user.SamAccountName);
}
上面的代碼示例將打印出用戶名,如「TestUser1」。我需要將它們與來自另一個應用程序的「DOMAIN \ TestUser1」格式的列表進行比較。
如何從UserPrincipal對象獲取「DOMAIN」部分?
我不能只追加一個已知域名,因爲涉及多個域,我需要區分DOMAIN1 \ TestUser1和DOMAIN2 \ TestUser2。
@marc_s的UserPrincipleName包含[email protected]格式名稱 - 我看不到如何輕鬆地將其轉換爲DOMAIN \ user格式(尤其是涉及的域名是已知列表 - 每個生產環境將是與我的開發環境不同的域列表) – Grhm 2010-11-26 11:03:47
您也可以使用'msDS -PrincipalName`屬性如下所述http://stackoverflow.com/questions/10702188/ – 2013-10-29 16:42:48
或者使用`user.Sid.Translate(typeof(System.Security.Principal.NTAccount))。ToString()`獲取Domain \ eac的用戶名h小組成員。請參閱http://stackoverflow.com/questions/6759463 – 2013-10-29 17:32:34