背景
我们在做自动化部署的时候会遇到这种情况,如果执行bat的时候弹出UAC窗的话,需要人工去点击确认,达不到真正的自动化。
解决方案
添加进系统的计划任务中
测试验证
主备测试脚本
@REM 中文字符
chcp 65001
@echo off
@REM 管理员运行
PUSHD %~DP0 & cd /d "%~dp0"
%1 %2
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :eof
:runas
echo 111 >>1.log
脚本说明:
管理员执行,输出111到1.log文件的末尾
正常情况下双击bat的时候会弹窗需要手动确认 ,如下图
添加任务
手动执行进行测试
这个时候发现手动执行还是会需要手动确认
重点
还有一个地方需要设置
双击任务,进行修改
勾选上
再次手动执行测试,发现讲究弹窗了
问题圆满解决!!