gpt4 book ai didi

c# - 在 C# 中从 AD 获取主要 groupName 的最简单方法是什么?

转载 作者:行者123 更新时间:2023-11-30 22:46:13 24 4
gpt4 key购买 nike

我目前正在使用 PrincipalContext 和 UserPrincipal 返回用户的主要 groupid。

如何获取此 ID 并找到实际的组名称?

我也有代码可以正确分配用户的主要组,但是一旦我将它们分配到组,我就不能从域用户中删除它们,域用户是我更改之前的默认主要组。在尝试删除域用户组之前,我调用了 Save()

我的要求状态我必须将用户添加到 AD,然后分配他们的主要组,然后将他们作为域用户的成员删除。

最佳答案

终于明白了

 PrincipalContext principalContext = this.principalFactory.CreateActiveDirectoryManagementContext(locationType);
UserPrincipal userPrincipal = this.principalFactory.CreateUserPrincipal(principalContext, userName);

string primaryGroupId = userPrincipal.GetPrimaryGroupId();

PrincipalSearchResult<Principal> results =
userPrincipal.GetAuthorizationGroups();

foreach (Principal principal in from principal in results
let sid = principal.Sid.ToString()
let test = sid.Split('-').ToList()
let count = test.Count
where test[count - 1].Equals(primaryGroupId)
select principal)
{
return principal.Name;
}

return string.Empty;

关于c# - 在 C# 中从 AD 获取主要 groupName 的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2744981/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com