如何使用 psexec 启动安装或其他需要 UAC 交互的任务?

Mig*_*ura 7 windows-server-2008 uac pstools

我正在尝试远程启动安装,但我不想禁用 UAC。如果我使用 psexec 远程启动进程,安装程序将停止等待 UAC 提示。其他任务,例如临时文件清理、服务重新启动等,都会导致访问被拒绝错误。psexec 是否可以绕过 UAC,例如使用管理员登录但使用 TrustedInstaller 权限或类似的权限?

顺便说一下,我的目标是 Windows 2008 R2,但我认为这个问题也适用于 Vista、2008 和 Windows 7。

Sky*_*awk 12

-h 参数是这里的关键:没有它,psexec 不会在 Windows Vista 及更高版本上执行具有 UAC 提升权限的命令:

C:\Users\merickson>psexec /?

PsExec v1.97 - Execute processes remotely
Copyright (C) 2001-2009 Mark Russinovich
Sysinternals - www.sysinternals.com

PsExec executes a program on a remote system, where remotely executed console
applications execute interactively.

Usage: psexec [\\computer[,computer2[,...] | @file]][-u user [-p psswd]
 [-n s][-l][-s|-e][x][-i [session]][-c [-f|-v]][-w directory][-d][-<priority>]
 [-a n,n,...] cmd [arguments]

...

 -h         If the target system is Vista or higher, has the process
            run with the account's elevated token, if available.
...
Run Code Online (Sandbox Code Playgroud)

(编辑:添加了 -h 开关存在的证据,根据下面的评论)


Izz*_*zzy 1

您需要使用 -u 选项并指定具有该计算机本地管理员访问权限的帐户(本地帐户、域管理员帐户等)

 -u         Specifies optional user name for login to remote
            computer.
Run Code Online (Sandbox Code Playgroud)

例如

psexec \\pc999.myDomain.loc -u pc999\Administrator <your exe>