我有Server 2008 R2标准版。我需要使用PC Win7中的psexec执行批处理文件。这个工作的唯一时间是我在我的服务器上禁用UAC。取消激活UAC是不可能的,我正在寻找启用UAC的解决方案。
错误讯息: 无法在remotehost上启动PSEXESVC服务: 访问被拒绝。
PS:在我的psexec命令行中,我使用服务器的管理员用户来执行批处理文件。我的服务器上的UAC级别是3。
祝你好运, 塔索
答案 0 :(得分:8)
我需要花费数小时的时间才能找到两台Windows 7计算机之间PsExec的工作方式,非管理员用户启动PsExec。
禁用UAC ...
EnableLUA=0
ConsentPromptBehaviorAdmin=0
LocalAccountTokenFilterPolicy=1
......没有用,关闭防火墙不起作用。
在这里,我找到了工作方式 - 感谢JelmerS(PSexec is not connecting to machine using supplied username and password)。
*这是因为在以另一个用户身份执行命令之前,psexec仍尝试使用您的本地凭据访问ADMIN$
共享。根据此线程,您可以在执行psexec之前缓存凭据:
cmdkey.exe /add:MACHINE_NAME_HERE /user:MACHINE_NAME_HERE\Administrator /pass:PASSWORD_HERE
psexec.exe \\MACHINE_NAME_HERE -i notepad
cmdkey.exe /delete:MACHINE_NAME_HERE*
最好的问候,彼得
答案 1 :(得分:0)
似乎从Win7 / Win2K8机器上针对Win7 / Win2K8目标运行PsExec,无论PsExec命令行中的“-u”和“-p”参数如何,这些参数都被忽略并且PsExec正在被执行远程使用我们碰巧在本地登录的任何用户凭据。 即使您说明要在远程系统上执行命令的用户帐户,它也会以打开命令窗口的用户身份执行psexec命令。 打开命令提示符时,请右键单击它并选择“以管理员身份运行”。同时,确保用户具有目标PC的管理员权限。
我看到的唯一解决方案是使用“Runas”(使用远程系统上需要的帐户)命令来执行PsExec并忘记-u -p params。
在命令提示符下,您可以尝试as,
echo "password" > pwd
runas /env /netonly /user:domain\Administrator "psexec.exe your_local_program.bat" < pwd
del pwd
或者只是:
echo password | runas /env /netonly /user:domain\Administrator "psexec.exe your_local_program.bat"
此外....
不要忘记查看经常阻止多个PS工具的防病毒软件。