问题描述:
1. CI流程(Jenkins Pipeline)中需要集成UI自动化测试脚本。
2. UI自动化测试脚本运行在云服务器Win Server 2016上。
3. 云服务器没有实体显示器,用户一般需要远程桌面才能访问。
4. UI自动化测试时,需要关闭远程桌面,以免对UI测试造成影响。具体可参考:如何关闭远程桌面后仍处于可交互状态 - 班哥静听 - 博客园 (cnblogs.com)
5. 基于以上原因,在代码中需要使用tscon 命令来自动关闭远程桌面。
6. 在运行中发现远程桌面未关闭。
问题调试:
直接在远程机器上通过以下步骤复现问题:
1. 打开cmd(非管理员用户),query user, 获取session
2. 使用命令行 tscon rdp-tdp#1 /dest:console 来关闭远程桌面。
3. 命令行执行失败,系统报错,拒绝访问。 问题复现。
4. 使用管理员账户打开cmd.重复步骤1.2. 命令执行成功。
通过以上步骤可以判断问题时需要使用管理员账户运行才可以。
问题解决:
通过设置安全策略,解决问题:
gpedit.msc---计算机配置---Windows设置---安全设置---本地策略---安全选项---禁用:用户账户控制:以管理员批准模式运行所有管理员。
重启后问题解决。