远程计算机上的 PsExec 访问被拒绝

远程计算机上的 PsExec 访问被拒绝

我正在尝试使用 PsExec 远程启动一个程序,但是当尝试连接时我收到错误消息“访问被拒绝。”。

在 SU 或其他论坛上找到的大多数答案都不起作用。大多数情况下,这是因为调用 PsExec 的用户帐户无法访问 Admin$ 共享,而我可以毫无问题地访问该共享。

呼叫帐户和远程帐户均位于同一域中

PsExec.exe \\remotePcName -u Domain\Username -p Password -i -d cmd /c "" something.bat

我已尝试以域管理员帐户和我的域帐户(也是域管理员)的身份运行 PsExec。

奇怪的是,直到最近它还在运行,但我不知道域或窗口上是否有任何变化会阻止它。

答案1

PsExec 失败并显示错误消息“访问被拒绝”的原因有很多。下面我列出了其中一些(希望是大多数):

  • PsExec 未以管理员身份运行(如果域管理员不起作用,请尝试本地管理员)。
  • 确保您的用户帐户有权访问\\$machine\ADMIN$
  • 检查远程计算机上的防火墙是否阻止了您的访问。

更多建议请参阅帖子 PSEXEC,访问被拒绝错误
我在下面重现 詹姆斯的回答

  1. 正如有人提到添加此注册表项,然后重新启动计算机:

    reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
    

    这篇知识库文章了解它的作用以及为什么需要它

  2. 禁用防火墙(注意 - 这将使您失去任何防火墙保护)

    netsh advfirewall set allprofiles state off
    
  3. 如果目标用户的密码为空白,而您不想添加,请在目标上运行:

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa] "LimitBlankPasswordUse"=dword:00000000
    
  4. 这对我来说不起作用,但我已经读过它在一些地方对其他人起作用,在目标执行上:

    开始 -> 运行 -> secpol.msc -> 本地策略 -> 安全选项 -> 网络访问:共享 > 和本地帐户的安全模型 > 经典 - 本地用户以自己的身份进行身份验证

    如果已经是“经典”:

    移至“仅限访客 - ..”从提升的命令提示符运行 gpupdate \force 移回“经典 - ..”再次从提升的命令提示符运行 gpupdate \force

  5. 这解决了我的问题:

    从提升的命令提示符“net use”在目标上运行,查看输出图表并查看远程列中列出的共享(我只删除了断开连接的共享 - 您可以全部尝试)运行“net use [列表之前的远程路径] /delete”然后运行'net use \target\Admin$ /user:[用户名]'输入提示密码请求(如果 PW 为空,只需按 Enter 键),viola 应该可以工作。

在链接帖子的其他答案中可以找到更多建议。

相关内容