我已经尝试了下面链接中给出的各种解决方案来启动,停止Windows Service (rabbitmq)在PyTest中没有任何管理员权限提示(因此它可以在构建服务器中连续运行):
- 操作系统。系统方法——>PyTest终端要求输入管理员密码
- subprocess.run method——>我得到
Access Denied
错误消息
是否有可能在Pytest中启动停止Windows服务,绕过管理员权限?如果是,我该怎么做?
这是不是可能的。
目前没有办法绕过我所知道的那些管理员权限。关于您最初问题的评论谈到了服务控制器工具和修改相应服务的SDDL。
根据我在这里读到的,你需要的命令是:
sc.exe sdset YourService "D:(A;;WPRP;;;WD)"
取代"YourService"您需要的服务
不做粘贴此命令,因为它将覆盖整个SDDL,请确保将其相应添加到您已经存在的SDDL中,以防止系统故障。
但是,正如前面提到的,您还需要管理员权限来设置它。如果设置一次而不反转,则PC上的每个用户都有权启动和停止该服务。
请记住,这将使服务容易受到任何程序的攻击。
(抱歉,如果我在解释中做错了什么,这是我第一次在stackoverflow上回答)