我正在为持续集成服务器设置一个测试节点。它应执行应用程序的 GUI 测试。因此,它获取生成的安装包并在运行其他交互式测试之前静默安装应用程序。但是有一个问题:UAC。
由于我们不想禁用 UAC 来维护真实的测试环境,因此需要绕过一次来设置应用程序。有很多方法可以做到这一点,一种流行的方法似乎是使用 Windows 任务调度程序。可以将任务添加为普通用户并配置为以管理员身份运行,无需进一步确认。我可以使用该schtasks /create
命令,但它的参数不清楚。此外,帮助中的参数值/?
似乎在我的系统上被翻译成德语,我相信(并希望)这是一个错误,并且这些值实际上应该用英语指定。
另外,我只想创建一个任务让它立即执行一次,然后删除它并继续我的其他活动(全部在一个批处理文件中)。schtasks 调用会如何?我会从这样的事情开始,但它是不完整的:
schtasks /create /tn "Testaufgabe" /tr "setup.exe" /sc EINMAL /it /np /z /rl /f
PS:哦,我需要等到启动的应用程序完成后才能继续执行其他任务。所以程序调用必须是同步的,而不是在后台。我已经在网上搜索了几个小时,但似乎找不到实现这一目标的方法。UAC 似乎不适用于这种情况。但是我们在测试用例中需要它,因为这是用户将拥有的。
更新:您不能使用任务计划程序 API 注册将以最高权限运行的任务。仅当您在创建任务时具有管理员权限时才有可能,这在我的情况下没有用。所以我想我需要专门使用 schtasks.exe。