PSEXEC,访问被拒绝错误

问题描述 投票:51回答:17

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

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

access-denied psexec windows-scripting
17个回答
64
投票

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

  1. 如有人提到添加此注册表项,然后重新启动计算机: reg添加HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ system / v LocalAccountTokenFilterPolicy / t REG_DWORD / d 1 / f 阅读this knowledge base article,了解这是什么以及为什么需要它
  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只按回车键),中提琴应该可以工作。

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


2
投票

我有一个案例,AV隔离Psexec - 必须禁用按访问扫描


1
投票

我发现PSEXEC(和其他PS工具)失败的另一个原因 - 如果某些东西(比如,病毒或木马)隐藏了Windows文件夹和/或其文件,那么PSEXEC将因“访问被拒绝”错误而失败,PSLIST将给出错误“未找到处理器性能对象”,并且您将被置于黑暗中。

你可以RDP;您可以访问admin $ share;您可以远程查看驱动器内容等,但没有迹象表明隐藏文件或文件夹是原因。

我将在昨天尝试确定这个奇怪问题的原因的几个页面上发布这些信息,所以你可能会在其他地方逐字逐句地看到这一点 - 只是想在其他人拔掉头发之前我就把它说出来了试图理解为什么性能计数器与PSEXEC运行有关。


1
投票

对于任何可能偶然发现此事的人。最近(2013年12月)Windows 7上的Microsoft Windows安全更新阻止了远程执行。见http://support.microsoft.com/kb/2893294/en-us

我通过转到控制面板\程序\程序和功能\已安装的更新来卸载安全更新

它之后就可以了。


1
投票

以下工作,但只有在我将PSEXEC从Microsoft升级到2.1之后。

[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System]“LocalAccountTokenFilterPolicy”= dword:00000001请参阅:http://forum.sysinternals.com/topic10924.html

我有一个稍微旧的版本,但没有用。我用它来做一些USMT工作,通过戴尔kace,工作了一个款待:)


1
投票

在Windows Server 2012 R2上,我无法从用户帐户运行

psexec -u administrator -p password \\machinename -h -s -d -accepteula cmd.exe

但是如果没有参数-h -s运行它会正常工作。这就是为什么我用它来解决我的麻烦:

psexec -accepteula -u administrator -p password \\machinename %PathToLocalUtils%\psexec.exe -h -s -d  cmd.exe

1
投票

我仍然使用psexec,即使在win 10.替换Windows 10的psexec.exe文件夹中的win32与旧版本工作 - >我使用版本2.11.0.0。我使用的Windows 10版本只会在远程计算机上运行.bat文件作为后台/隐藏进程。花了一整天的时间想出这个。

将注册表项从上面添加到远程计算机也有帮助:

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

0
投票

除非我禁用了UAC,否则我无法访问远程计算机。

这必须在本地完成,无论是从控制面板还是通过cmd运行以下内容:

reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f

启用UAC时,请确保以管理员身份运行cmd。


0
投票

对于不同的命令,我决定将网络从公共更改为工作。 在尝试再次使用psexec命令后,它再次起作用。 因此,要让psexec工作,请尝试将您的网络类型从公共更改为工作或家庭。


16
投票

我刚刚解决了一个相同的症状,通过创建注册表值HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system\LocalAccountTokenFilterPolicy并将其设置为1. More details are available here


11
投票

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

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

如果这不能解决您的问题,请确保目标机器符合最低要求specified here


8
投票

This帮助了我的情况:

cmdkey.exe /add:<targetname> /user:<username> /pass:<password>
psexec.exe \\<targetname> <remote_command>

5
投票

您可以尝试该命令

net use \\computername\ipc$ /user:adminname password

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


4
投票

我刚刚添加了“-с”参数。它使Psexec可复制到远程机器。所以它没有访问错误。


4
投票

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

  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]"

如果您要在另一台计算机上调试脚本,请运行以下模板:

runas /user:[USERNAME] "psexec -i -e -h -s -u [USERNAME] -p [PASSWORD] \\[COMPUTERNAME] cmd /C [COMMAND1] & [COMMAND2] & pause"

4
投票

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

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"LocalAccountTokenFilterPolicy"=dword:00000001

见:http://forum.sysinternals.com/topic10924.htmlhttp://www.brandonmartinez.com/2013/04/24/resolve-access-is-denied-using-psexec-with-a-local-admin-account/


3
投票

我发现Sophos继续将psexec.exe放入隔离区。一旦我批准它,它运行正常。

© www.soinside.com 2019 - 2024. All rights reserved.