PSEXEC,访问被拒绝的错误
虽然我正在使用PSEXEC.exe获取远程系统的“访问被拒绝”错误。
任何想法如何解决这个问题?
您好,我在这里从许多来源在网上提供了“访问被拒绝”的各种解决scheme的摘要:大多数信息可以在这里find(包括需要的要求) – 系统内部的帮助
-
正如有人提到添加此注册码:
reg添加HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ system / v LocalAccountTokenFilterPolicy / t REG_DWORD / d 1 / f
阅读这篇知识库文章 ,了解这是什么以及为什么需要它
-
禁用防火墙(注意 – 这将使您无法获得任何防火墙保护)
netsh advfirewall设置allprofiles状态closures
-
如果目标用户有一个空白的PW,你不想添加一个,运行目标:
[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa]“LimitBlankPasswordUse”= dword:00000000
-
这没有为我工作,但我已经读了它在其他地方做了,在目标执行:
开始 – >运行 – > secpol.msc – >本地策略 – >安全选项 – >networking访问:共享>和本地帐户的安全模型>经典 – 本地用户身份validation
如果已经在“经典”中:
移到“Guest only – ..”从提升的命令提示符下运行gpupdate \ force再次从提升的命令提示符下运行回到“Classic – ..”gpupdate \ force
-
这个解决了我的问题:
运行在提升的命令提示符“networking使用”的目标看输出图表和远程列在那里列出的股份(我只删除了断开连接的 – 你可以尝试所有)运行“networking使用[从列表之前的远程path] /删除“然后运行'networking使用\目标\pipe理员$ /用户:[用户名]'input提示密码请求(如果空PW只是按回车),中提琴应该工作。
祝你好运,希望这节省了一些时间。
PsExec拥有其启动程序的任何访问权限。 它在正常的Windows访问控制下运行。 这意味着谁启动了PsExec(无论是你,调度器,服务等)在目标机器上没有足够的权限,或者目标机器configuration不正确。 第一件事是:
- 确保PsExec的启动器对目标机器很熟悉,无论是通过域还是通过在两台机器上本地定义相同的用户和密码。
- 使用命令行参数来指定目标机器已知的用户(-u用户-p密码)
如果这不能解决您的问题,请确保目标机器满足此处指定的最低要求。
我刚刚通过创buildregistry值HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system\LocalAccountTokenFilterPolicy
并将其设置为1来解决相同的症状。
你可以试试这个命令
net use \\computername\ipc$ /user:adminname password
在使用psexec之前在远程PC上获得pipe理员权限。
这有助于我的情况:
cmdkey.exe /add:<targetname> /user:<username> /pass:<password> psexec.exe \\<targetname> <remote_command>
我有同样的问题。 经过艰苦的工作,我发现了一个简单而完整的解决scheme:
- 我使用runas在pipe理员帐户中运行脚本
- 我使用psExec中的-s参数在系统帐户中运行
- 在PsExec里面,我用pipe理员帐号重新login
- 您可以使用&来运行多个命令
- 请记住用实际值replace[USERNAME],[PASSWORD],[COMPUTERNAME],[COMMAND1]和[COMMAND2]
代码如下所示:
runas /user:[USERNAME] "psexec -e -h -s -u [USERNAME] -p [PASSWORD] \\[COMPUTERNAME] cmd /C [COMMAND1] & [COMMAND2]"
如果您想在另一台机器上debugging脚本,请运行以下模板:
runas /user:[USERNAME] "psexec -i -e -h -s -u [USERNAME] -p [PASSWORD] \\[COMPUTERNAME] cmd /C [COMMAND1] & [COMMAND2] & pause"
我刚刚添加“-с”参数。 它使Psexec可执行文件复制到远程机器。 所以它没有访问错误。
尝试在目标(远程)机器上设置此密钥,然后重新启动计算机:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System] "LocalAccountTokenFilterPolicy"=dword:00000001
请参阅: http : //forum.sysinternals.com/topic10924.html和http://www.brandonmartinez.com/2013/04/24/resolve-access-is-denied-using-psexec-with-a-local-pipe理员账户/
我遇到了AV隔离Psexec的情况 – 必须禁用读写扫描
我发现Sophos不断将psexec.exe放入隔离区。 一旦我授权,它运行良好。
我发现另一个原因PSEXEC(和其他PS工具)失败 – 如果某事(如病毒或特洛伊木马)隐藏Windows文件夹和/或其文件,则PSEXEC将会出现“Access is Denied”错误,PSLIST会给出错误“处理器性能对象未find”,你会被留在黑暗的原因。
你可以在RDP中; 你可以访问admin $ share; 您可以远程查看驱动器的内容等,但没有迹象表明文件或文件夹被隐藏是原因。
我会把这些信息张贴在昨天我仔细阅读的几个页面上,同时试图确定这个奇怪的问题的原因,所以你可能会逐字地看到这一点 – 只是以为我会把别人的头发放出去试图理解性能计数器与PSEXEC运行有什么关系。
对于任何人可能会偶然发现这一点。 Windows 7上的Microsoft Windows最近(2013年12月)安全更新阻止了远程执行。 请参阅http://support.microsoft.com/kb/2893294/en-us
我通过转到控制面板\程序\程序和function\安装的更新卸载安全更新
它在那之后工作。
下面的工作,但只有我从微软升级PSEXEC 2.1后。
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System]“LocalAccountTokenFilterPolicy”= dword:00000001请参阅: http : //forum.sysinternals.com/topic10924.html
我有一个稍微旧的版本,没有工作。 我用它做了一些USMT工作,通过戴尔kace,工作了一个治疗:)
在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
我仍然使用psexec
,即使在win 10上。将Windows 10的win32
文件夹中的psexec.exe
replace为旧版本,即可正常工作 – >使用版本2.11.0.0。 我使用的Windows 10版本只能在远程计算机上以后台/隐藏进程运行.bat文件。 花了一整天的时间来解决这个问题。
从上面将registry项添加到远程计算机也有帮助:
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f