欢迎各位兄弟 发布技术文章
这里的技术是共享的
你可以使用以下 CMD 命令 来检查当前用户是否已加入 Active Directory (AD) 域:
cmdecho %USERDOMAIN%
解释:
如果返回 WORKGROUP(如 WORKGROUP\TESTPC),说明该计算机是 工作组模式,不是域成员。
如果返回 域名(如 CONTOSO),说明当前计算机已加入域。
cmdsysteminfo | find "Domain"
systeminfo | find "域"
输出示例:
Domain: WORKGROUP (工作组模式)
或
Domain: CONTOSO.COM (已加域)
cmdwhoami /groups | find "Domain Users"
解释:
如果输出包含 DOMAIN\Domain Users,说明当前用户是 域用户。
若无输出,说明当前用户是本地用户(非域用户)。
cmdnltest /domain_trusts
适用于:
如果计算机已加入域,会列出 受信任的域。
如果未加域,会提示 No domain trusts found。
cmdnltest /dsgetdc:你的域名
例如:
cmdnltest /dsgetdc:contoso.com
如果计算机已加域,会显示 域控制器的名称。
如果未加域,会提示 ERROR_NO_SUCH_DOMAIN。
| 命令 | 加域示例 | 工作组示例 |
|---|---|---|
echo %USERDOMAIN% | CONTOSO | WORKGROUP |
systeminfo | find "Domain" | Domain: CONTOSO.COM | Domain: WORKGROUP |
whoami /groups | find "Domain" | 显示 DOMAIN\Domain Users | 无输出 |
nltest /domain_trusts | 列出域信任关系 | No domain trusts found |
💡 附加检查:
gpresult /r(查看组策略是否生效,域计算机通常会有 DOMAIN 相关的策略)。
net config workstation 查看 计算机的域信息。
Q1: 显示 WORKGROUP,但公司使用域?
计算机可能 未加入域。
可能 脱域(网络问题或账户问题)。
Q2: 命令无效?
nltest 需要 Windows Server Tools,普通Win10/11可能需要安装 RSAT。
Q3: 如何真正加入域?
cmdnetdom join %COMPUTERNAME% /domain:contoso.com /userd:administrator /passwordd:*
(需管理员权限 + 有效域账户)
whoami /groups 详解
whoami /groups 命令详解whoami /groups 是一条 Windows CMD 命令,用于显示当前用户所属的所有安全组(Security Groups),包括:
本地组(Local Groups)
域组(Domain Groups,如果计算机已加入域)
系统内置组(如 Users、Administrators 等)
cmdwhoami /groups
输出示例:
组信息
-----------------
组名 类型 SID 属性
======================================= ============== ============================================== ==========================
Everyone 已知组 S-1-1-0 Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\INTERACTIVE 已知组 S-1-5-4 Mandatory group, Enabled by default, Enabled group
WORKGROUP\Users 别名 S-1-5-32-545 Mandatory group, Enabled by default, Enabled group
CONTOSO\Domain Users 域组 S-1-5-21-123456789-1234567890-123456789-513 Mandatory group, Enabled by default, Enabled group
BUILTIN\Administrators 别名 S-1-5-32-544 Mandatory group, Enabled by default, Enabled group
| 列名 | 说明 |
|---|---|
| 组名 | 组名称(Everyone、DOMAIN\GroupName、BUILTIN\Administrators) |
| 类型 | 组类型(已知组、别名、域组、受限组) |
| SID | 安全标识符(Security Identifier),唯一标识用户或组 |
| 属性 | 组的状态(Mandatory group、Enabled by default、Enabled group) |
| 组名 | 说明 |
|---|---|
BUILTIN\Administrators | 本地管理员组 |
BUILTIN\Users | 标准普通用户组 |
BUILTIN\Guests | 访客用户组 |
WORKGROUP\Users | 工作组的普通用户组 |
| 组名 | 说明 |
|---|---|
CONTOSO\Domain Admins | 域管理员组 |
CONTOSO\Domain Users | 所有域用户默认组 |
CONTOSO\Domain Computers | 域内计算机组 |
| 组名 | 说明 |
|---|---|
Everyone | 所有用户(包括匿名用户) |
NT AUTHORITY\Authenticated Users | 已认证的用户 |
NT AUTHORITY\INTERACTIVE | 本地交互式登录用户 |
Domain Adminscmdwhoami /groups | find "Domain Admins"
有输出 = 用户是域管理员
无输出 = 用户无域管理员权限
cmdwhoami /groups | find "Domain Users"
输出 DOMAIN\Domain Users = 已加域
无输出 = 计算机未加域(仅本地用户)
cmdwhoami /groups | find "Administrators"
如果返回 BUILTIN\Administrators,说明有本地管理员权限。
如果返回 DOMAIN\Enterprise Admins,说明是域企业管理员。
cmdwhoami /groups /fo list | find "S-1-5-32-544"
说明:
S-1-5-32-544是 Administrators 组的 SID。
cmdwhoami /groups > user_groups.txt
用途:记录用户权限,用于审计。
net user 的区别| 命令 | 用途 |
|---|---|
whoami /groups | 当前登录用户的组信息 |
net user 用户名 /domain | 查询 特定域用户 的组成员资格(需加域) |
注意:
net user需要管理员权限,而whoami /groups所有用户均可运行。
✅ 权限排错(检查用户是否属于某个组)
✅ 安全审计(记录用户所属组)
✅ AD 域环境检查(是否加域、是否是管理员)
whoami /groups = 查看当前用户的组归属(本地组、域组、系统组)。
典型用途:检查管理员权限、确认是否加域、权限排错。
和 net user 的区别:whoami 仅查看当前用户,net user 可查任意用户(需权限)。
示例命令:
cmdwhoami /groups | find "Domain Admins"
有输出 = 用户是域管理员 ✅
无输出 = 无域管理员权限 ❌
如果你有更多问题,欢迎提问! ?