首页 > 解决方案 > 如何检查当前登录的用户是否在特定组中?

问题描述

我正在尝试创建一个批处理脚本来更改用户是否在 Active Directory 上的特定组中。我知道如何通过这一行获取用户所在的组列表:

whoami \groups

我不知道如何查询该列表并根据某个组是否在该列表中运行命令。我正在寻找类似的东西:

set %groups% whoami \groups
if foo in %groups% echo run

这不会运行(显然),但如果名为 foo 的组位于由whoami \groups.

标签: batch-fileactive-directory

解决方案


试试这样:

@echo off
set "groupToCheck=BUILTIN\Administrators"

whoami /groups | findstr /B "%groupToCheck:\=\\%\>" >nul 2>&1 && (
  echo I'm in %groupToCheck%
) || (
  echo I'm NOT in %groupToCheck%
)

推荐阅读