在域外使用 /domain 标志运行“net”命令

在域外使用 /domain 标志运行“net”命令

作为工作的一部分,我有时会连接到具有 AD 环境/域的网络,并接收域用户凭据。但是,我的机器不是域的一部分。因此,当我尝试查询域(在 runas /netonly 窗口内)时,我得到了以下信息:

C:\Windows\system32>net accounts /do
The request will be processed at a domain controller for domain WORKGROUP.

System error 1355 has occurred.

The specified domain either does not exist or could not be contacted.

但是,如果我从该域内的计算机运行相同的命令,我会得到:

C:\Windows\system32>net accounts /do
Force user logoff how long after time expires?:       Never
Minimum password age (days):                          0
Maximum password age (days):                          42
Minimum password length:                              0
Length of password history maintained:                None
Lockout threshold:                                    Never
Lockout duration (minutes):                           30
Lockout observation window (minutes):                 30
Computer role:                                        domain.local
The command completed successfully.

同样,这是在标题为“cmd/exe(以 domain.loca\username 身份运行)”的 runas /netonly 窗口中。
所有类似命令(例如“net user username /domain”)都会发生同样的情况

有没有办法从域外的计算机查询这些“网络”命令(当然要有域用户)?

另外需要注意的是,一些外部工具(如 Windows Resource Kit 甚至 PingCastle)可以与 runas / netonly 完美配合。

答案1

根据微软支持文章Windows 操作系统上的网络命令,NET 命令的/domain开关在当前域的域控制器上执行请求的操作。

对于未加入 Active Directory 域的计算机,“当前域”是计算机的工作组。但工作组没有域控制器,这就是 NET 命令失败的原因:

该请求将在域控制器上处理工作组

发生系统错误 1355。

指定的域不存在或无法联系

(重点是我的)

没有办法解决这个问题。交换机/domain经过硬编码,可以读取本地计算机的域成员身份,以确定在何处查找域控制器。它与您执行命令时使用的凭据无关,因此使用域用户的凭据运行它不会产生任何影响。

最好的选择是从您想要查询的域的成员机器执行这些命令。

相关内容