मुझे निम्नलिखित प्रारूप में विशिष्ट स्थानीय समूह के सभी उपयोगकर्ताओं को सूचीबद्ध करने की आवश्यकता है: "डोमेन \ उपयोगकर्ता नाम"। मैं समूह के लिए समूह प्रिंसिपल ऑब्जेक्ट्स का संग्रह निकाल सकता हूं, लेकिन मुझे नहीं पता कि उपयोगकर्ताओं को आवश्यक प्रारूप में कैसे प्राप्त किया जाए। GroupPrincipal में संपत्ति डोमेन नहीं है।समूह प्रिंसिपल से डोमेन कैसे प्राप्त करें?
निम्न कोड डोमेन के बिना उपयोगकर्ताओं को आउटपुट करता है (उदा। "उपयोगकर्ता नाम")।
using (var context = new PrincipalContext(ContextType.Machine, null))
{
using (var group = GroupPrincipal.FindByIdentity(context, IdentityType.SamAccountName, @"My Local Group"))
{
if (group != null)
{
foreach (var p in group.GetMembers(false))
{
Console.WriteLine(p.SamAccountName);
}
}
}
}
क्या मूल वस्तु से डोमेन नेटबीओस नाम प्राप्त करना संभव है? और यदि हां, तो इसे कैसे प्राप्त करें?
क्या आपको वास्तव में इसे 'DOMAIN \ उपयोगकर्ता नाम' फ़ॉर्म में चाहिए? क्या आप 'उपयोगकर्ता @ डोमेन' भी स्वीकार कर सकते हैं? –
@Damien_The_Unbeliever मुझे उसी फ़ॉर्म में उपयोगकर्ता नाम चाहिए क्योंकि इसे HttpContext.User.Identity.Name द्वारा समर्थित विंडोज प्रमाणीकरण (DOMAIN \ UserName) के साथ वापस किया गया है। – altso
'पी' एक एसआईडी संपत्ति का खुलासा करता है, जो आपको सुरक्षा पहचानकर्ता देता है। इसी प्रकार, पहचान उपयोगकर्ता संपत्ति को उजागर करती है (यदि उपयुक्त रूप से WindowsIdentity ऑब्जेक्ट पर डाली जाती है), जो एक सुरक्षा पहचानकर्ता भी है। क्या आप उन पर आधारित तुलना नहीं कर सकते? –