Sysinternals pslist:客户端没有所需的权限

Sysinternals pslist:客户端没有所需的权限

我现在在一台运行 Windows 2000 的“古老”机器上。

我正在尝试使用 Sysinternals 获取运行 Windows 7 x64 的远程计算机上正在运行的进程列表pslist

pslist \\192.168.199.2 -u admin -p password

其中adminpassword对应于该计算机上具有管理权限的帐户。但它失败了,说客户端没有所需的权限。

同时,我可以通过以下方式打开该计算机上的隐藏管理共享,例如,

\\192.168.199.2\c$

在 Windows 资源管理器中并以 的身份完全访问文件系统admin

我还可以成功执行以下操作以获取完整的目录列表:

net use \\192.168.199.2\Admin$ /user:admin
dir \\192.168.199.2\Admin$
net use \\192.168.199.2\Admin$ /delete

这一页据说如果这些命令有效,那么也应该可以运行 PSTools 命令\\192.168.199.2

当然,如果我pslist直接在该机器上运行并登录该admin帐户,它就可以完美运行。

为什么pslist无法远程获取正在运行的进程列表?作为管理员,我该怎么做才能允许使用 Sysinternals psTools 进行远程进程操作?

答案1

我能够通过以下方式解决问题:

1)需要Remote Registry在运行Windows 7的目标机器上运行该服务。本文描述步骤:

  1. 点击开始,点击开始寻找框中,键入services.msc,然后按Enter。Microsoft 管理控制台将启动,服务管理单元将打开。

  2. 在控制台窗格中,右键单击Remote Registry并单击开始

使用此控制台,我已将Remote Registry服务配置为自动启动。

2)在客户端机器上,我cmd.exe使用目标机器的帐户名和密码运行另一个副本(请注意将 IP 和用户名分隔开的反斜杠!):

runas /netonly /user:192.168.199.2\admin cmd

执行上述命令后会提示输入密码,输入密码后点击打开Enter新窗口"cmd ( run as 192.168.199.2\admin )"

3)在新窗口中执行:

pslist \\192.168.199.2

这按预期工作。请注意,不需要指定用户名和密码。

我还可以终止远程机器上的任何进程,例如终止远程cmd.exe进程:

pskill \\192.168.199.2 cmd

...或者在远程机器上运行cmd.exe并以方便的方式与其交互(就像我直接登录到远程机器一样):

psexec \\192.168.199.2 cmd

执行完最后一条命令后,窗口标题变为\\192.168.199.2: cmd。在此窗口中,我可以运行远程计算机上的 psTools,无需再指定目标主机。非常方便!

执行exit允许退出远程cmd.exe进程并将窗口标题改回"cmd ( run as 192.168.199.2\admin )"

start在开始时添加cmd.exe在单独的窗口中启动远程进程:

start psexec \\192.168.199.2 cmd

相关内容