PSEXEC,访问被拒绝错误

59 access-denied psexec windows-scripting

我正在使用PSEXEC.exe为远程系统获取"拒绝访问"错误.

有关如何解决这个问题的任何想法?

jam*_*mes 70

嗨,我在这里放置了许多来源的摘要,以获取"访问被拒绝"的各种解决方案:大多数信息可以在这里找到(包括所需的要求) - sysinternal帮助

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

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

    阅读此知识库文章,了解这是什么以及为什么需要它

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

    netsh advfirewall设置allprofiles状态

  3. 如果目标用户有一个空白的PW并且您不想添加一个,则在目标上运行:

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]"LimitBlankPasswordUse"= dword:00000000

  4. 这对我来说没有用,但我已经在一些地方读过它,在目标执行上:

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

    如果已经在'经典':

    移动到"仅限访客 - .."从提升的命令提示符gpupdate\force运行回到'经典 - ..再次从提升的命令提示符运行gpupdate\force

  5. 这个解决了我的问题:

    从提升的命令提示符"net use"运行目标查看输出图表和远程列中列出的共享(我只删除了断开连接的那些 - 你可以全部尝试)运行"net use [list from list]/delete "然后运行'net use\target\Admin $/user:[用户名]'输入提示密码请求(如果空PW只按回车键),中提琴应该可以工作.

祝你好运,希望这能节省一些时间.

  • 1)帮帮我(也是半相关的,因为用户是目标服务器的本地用户,所以需要用目标服务器名称完全限定用户名) (2认同)
  • 我知道这已经过时了,但是 #1 在 Windows 10 上为我解决了这个问题,(两台机器) (2认同)

Ofe*_*lon 17

我刚刚解决了相同的症状,创建了注册表值HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system\LocalAccountTokenFilterPolicy并将其设置为1. 此处提供了更多详细信息.

  • 是的,在这里工作。谢谢!更明确地说,它必须是一个“REG_DWORD”键。 (2认同)

era*_*ran 11

PsExec拥有其启动器具有的任何访问权限.它在常规Windows访问控制下运行.这意味着无论是谁启动了PsExec(无论是您,调度程序,服务等),目标计算机上都没有足够的权限,或者目标计算机配置不正确.首先要做的是:

  1. 通过域或在两台计算机上本地定义相同的用户和密码,确保目标计算机熟悉PsExec的启动程序.
  2. 使用命令行参数指定目标计算机已知的用户(-u user -p password)

如果这不能解决您的问题,请确保目标机器满足此处指定的最低要求.

  • 该链接现已失效。 (2认同)

小智 8

有助于我的情况:

cmdkey.exe /add:<targetname> /user:<username> /pass:<password>
psexec.exe \\<targetname> <remote_command>
Run Code Online (Sandbox Code Playgroud)


小智 5

您可以尝试该命令

net use \\computername\ipc$ /user:adminname password
Run Code Online (Sandbox Code Playgroud)

在使用psexec之前获取远程PC上的管理员权限.


Wer*_*ght 5

尝试在目标(远程)机器上设置这个键,然后重启机器:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"LocalAccountTokenFilterPolicy"=dword:00000001
Run Code Online (Sandbox Code Playgroud)

请参阅:http : //forum.sysinternals.com/topic10924.htmlhttp://www.brandonmartinez.com/2013/04/24/resolve-access-is-denied-using-psexec-with-a-local-管理员帐户/


Hen*_*ila 5

我有同样的问题。经过一番努力,我找到了一个简单而完整的解决方案:

  1. 我使用runas在管理员帐户中运行脚本
  2. 在 psExec 中使用-s 参数在系统帐户中运行
  3. 在 PsExec 中,我再次使用管理员帐户登录
  4. 您可以使用& 运行多个命令
  5. 请记住将 [USERNAME]、[PASSWORD]、[COMPUTERNAME]、[COMMAND1] 和 [COMMAND2] 替换为实际值

代码如下所示:

runas /user:[USERNAME] "psexec -e -h -s -u [USERNAME] -p [PASSWORD] \\[COMPUTERNAME] cmd /C [COMMAND1] & [COMMAND2]"
Run Code Online (Sandbox Code Playgroud)


如果您想在另一台机器上调试您的脚本,请运行以下模板:

runas /user:[USERNAME] "psexec -i -e -h -s -u [USERNAME] -p [PASSWORD] \\[COMPUTERNAME] cmd /C [COMMAND1] & [COMMAND2] & pause"
Run Code Online (Sandbox Code Playgroud)