受我之前的问题的启发,我一直在尝试使用 PSExec。
目标是从另一台 WindowsXP 机器上分离一些相当简单的脚本/程序,并且由于 PowerShell 2 还没有在 XP 上进行远程处理,PSexec 似乎可以很好地解决我的问题。
但是,除了“访问被拒绝”错误之外,我什么也得不到。
这是我到目前为止所尝试的:
我有一对 WindowsXP MCE 机器,在没有服务器或域控制器的工作组中联网在一起。
我在两台机器上都关闭了“简单文件共享”。
在安全策略下,本地帐户的网络访问:共享和安全模型设置为经典,而不是两台机器的访客。
我知道密码的每台计算机都有一个管理用户。:)
尽管如此,像“ > psexec \\otherComputer -u adminUser cmd
”这样的命令会提示输入密码(就像它应该的那样),然后退出:
Couldn't access otherComputer:
Access is denied.
所以,在这一点上,我转向社区。我在这里缺少什么步骤?
将以下注册表 DWORD 添加到远程计算机,它应该可以解决问题。
问题解决了。
事实证明,默认情况下,Windows 不会让您使用密码为空的用户帐户远程登录。为了试验 PSExec,我将目标机器上的管理员帐户密码更改为空,认为这会减少所需的输入量。事实证明,这是我的问题,一旦我输入密码,一切都完美无缺。
但是,这引发了另一项调查 - 如果有人想使用空密码的 PSExec,这就是您需要做的(无论如何,在 Windows XP MCE 下):
我认为 PSEXEC 依赖于能够打开 ADMIN$ 共享,因此请使用相同的凭据进行检查,
如果你输入
进入我的计算机并以 adminUser 身份验证它是否有效?
我假设您确实使用了双斜杠并且系统将其剥离。
您确实需要打开标准 Windows 文件共享并允许其通过防火墙才能正常工作。
从非提升命令提示符(在 Windows 7 上)运行 PSExec 时遇到此错误。从提升的命令提示符运行命令修复了它。
我找到了 PSEXEC(和其他 PS 工具)失败的另一个原因 - 如果某些东西(...比如病毒或木马)隐藏了 Windows 文件夹和/或其文件,那么 PSEXEC 将失败并出现“访问被拒绝”错误,PSLIST将给出错误“找不到处理器性能对象”,而您将一无所知。
您可以在 RDP 中;您可以访问 admin$ 共享;您可以远程查看驱动器内容等,但没有迹象表明文件或文件夹被隐藏是原因。
我将在昨天阅读的几页上发布这些信息,同时试图确定这个奇怪问题的原因,所以你可能会在其他地方逐字看到这个 - 只是以为我会在其他人拔掉头发之前说出这个词从根本上试图理解为什么性能计数器与 PSEXEC 运行有关。
Windows Defender 或其他恶意软件防护是否正在运行?是阻塞吗?我知道 Windows Defender 能够做到这一点。
在这些情况下,使用Wireshark捕获流量通常有助于追踪问题。您可以查看 SMB 流量并了解 Windows 是如何尝试进行身份验证的,或者在防火墙阻止流量等情况下它是否首先达到了那一步。
要检查的另一件事是您的防病毒软件是否阻止了 psexecsvc.exe。我刚刚和 Sophos 遇到了这个问题。我收到拒绝访问并看到 Sophos 从应用程序日志中阻止了 PSEXEC。
这是一个对我有用的想法。与其使用 -u 和 -p 参数将用户名和密码传递给 psexec,不如先打开在该用户上下文中运行的命令提示符:
出现提示时,输入密码。然后从新的命令提示符处,正常运行 psexec: