标签: group-membership

递归检查活动目录组成员身份

所以我对活动目录中的递归组有疑问.我有一个方法来检查用户ID是否在组中.效果很好.今天发现它不检查递归组成员资格,我不太确定如何(或者如果)有办法做到这一点.这是我到目前为止非递归的内容:

public static bool CheckGroupMembership(string userID, string groupName, string Domain)
{
  bool isMember = false;

  PrincipalContext ADDomain = new PrincipalContext(ContextType.Domain, Domain);
  UserPrincipal user = UserPrincipal.FindByIdentity(ADDomain, userID);

  if (user.IsMemberOf(ADDomain, IdentityType.Name, groupName.Trim()))
  {
    isMember = true;
  }

  return isMember;
}
Run Code Online (Sandbox Code Playgroud)

我已经看到了一些关于目录搜索器的东西,但我对直接使用AD有些新意,虽然我理解了这些概念,但其他一些东西对我来说仍然有点遗失.

谢谢!

active-directory group-membership c#-4.0

10
推荐指数
2
解决办法
1万
查看次数

检查当前登录用户是否具有管理员权限

想象一下,有一个 Powershell 脚本在 Windows 10 计算机上的 SYSTEM 帐户下运行,并检查当前登录的是哪个域用户。没什么大不了。

现在:我想检查该登录用户是否具有该计算机的管理员权限。到目前为止我能找到的每一项检查都只查看“.IsInRole([Security.Principal.WindowsBuiltInRole]::'Administrator')”。但这仅检查用户是否是本地组“管理员”的直接成员。但本地管理员组内可能存在一个域组,而用户是该域组的成员。所以他是管理员,即使他不是管理员组的直接成员。

如何同时检查两者?我只是想检查某人是否是管理员,无论这些管理员权限来自哪里。此检查也将在 SYSTEM 帐户下运行,而不是在受影响的用户帐户本身下运行。

有任何想法吗?

permissions powershell group-membership

5
推荐指数
1
解决办法
2286
查看次数