我正在尝试在远程计算机上运行批处理文件(以安装某些软件)。为此,我使用了 PSExec。
psexec.exe \\计算机 C:\swsetup\install.bat
一切都很好,除了一些安装由于脚本未以管理员身份运行而失败(如果我登录,右键单击并选择“以管理员身份运行”,则脚本将成功运行并安装)。
我尝试使用 /runas 命令以管理员身份运行,但没有成功
psexec.exe \\计算机 cmd
进而
runas /用户:计算机\管理员 C:\swsetup\install.bat
系统弹出“输入账户密码”的提示,然后跳回到 cmd 提示符,不让我输入密码。如果我尝试这样做,也会出现同样的问题
运行方式/用户:[电子邮件保护]安装目录:\swsetup\install.bat
有没有办法解决这个问题,或者我必须访问机器,登录,然后在每台机器上运行脚本?
答案1
在远程计算机上创建一个任务计划,根据需要以最高权限运行所需的批处理文件。您可能能够使用 schtasks /Create /? 将新任务添加到远程计算机(搜索将任务计划添加到远程计算机)
创建快捷方式以运行任务
使用 psexec.exe 运行快捷方式
我使用此方法在以管理员身份运行选定程序时绕过 UAC。我创建了一个新的任务计划程序文件夹“绕过 UAC”,并在其中创建了新任务“安装程序”。
常规选项卡:选中“以最高权限运行”。
操作选项卡:启动程序您的批处理文件
条件选项卡:取消选中电源限制,并选中唤醒计算机(如果您启用了唤醒计时器并希望唤醒计算机以运行任务)。
设置选项卡:选中“允许在命令下运行任务”
对于快捷方式使用模式:C:\Windows\System32\schtasks.exe /RUN /TN“foldername\taskname”
例如“绕过 UAC\installer”
如果我的说明令人困惑,请搜索“使用任务计划程序绕过 UAC”
答案2
您是否尝试过使用运行批处理命令的帐户名添加 PSExec 密码开关?
-p Specifies optional password for user name. If you omit this
you will be prompted to enter a hidden password.