Aşağıdaki kod ile, bir kullanıcı için tüm Active Directory gruplarını almak için çalışıyorum başarısız:UserPrincipal.GetGroups bilinmeyen bir hata
private static IEnumerable<string> GetGroupNames(string userName)
{
using (var context = new PrincipalContext(ContextType.Domain))
{
using (var userPrincipal = UserPrincipal.FindByIdentity(context, userName))
{
var groupSearch = userPrincipal.GetGroups(context);
var result = new List<string>();
foreach (var principal in groupSearch)
{
Log.LogDebug("User {0} is member of group {0}", userPrincipal.DisplayName, principal.DisplayName);
result.Add(principal.SamAccountName);
}
return result;
}
}
}
Bu kodu doğru kullanıcı müdürü bulur, ama GetGroups ile çağrıldığında başarısız Bir PrincipalOperationException: Bilinmeyen hata (0x80005000).
Kök istisna:
at System.DirectoryServices.AccountManagement.ADStoreCtx.GetGroupsMemberOf(Principal foreignPrincipal, StoreCtx foreignContext)
at System.DirectoryServices.AccountManagement.Principal.GetGroupsHelper(PrincipalContext contextToQuery)
at System.DirectoryServices.AccountManagement.Principal.GetGroups(PrincipalContext contextToQuery)
at [line of the GetGroup call]
İç istisna (COMException):
at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_AdsObject()
at System.DirectoryServices.PropertyValueCollection.PopulateList()
at System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName)
at System.DirectoryServices.PropertyCollection.get_Item(String propertyName)
at System.DirectoryServices.AccountManagement.ADUtils.RetriveWkDn(DirectoryEntry deBase, String defaultNamingContext, String serverN
Another report with this problem.
Herhangi bir ipucu? PrincipalContext için adı argüman olarak Environment.UserDomainName ekleme
Bu, tüm kullanıcılarda oluyor mu? Ya da sadece belirli bir kullanıcı üzerinde olur? .NET kitaplığında, kullanıcı DN "/" içerdiğinde bu COMException komutunu attığını biliyorum. Ayrıca bu sorunun yalnızca bir tanesini "/" içeren "DN" ile yalnızca –
açıkladığınızı onaylıyorsanız, bu sorunla ilgili bir çözümüm var. Kullanıcı DN’si "/" içerdiğinde sorun yaşarım. Kullandığın düzeltmenin ne olduğunu söyler misin lütfen? – Lamelas84
DN'de "/" içeren kullanıcılar için aynı sorunu yaşıyorum. Düzeltme neydi? – bahramzy