如何使用批处理文件以管理员权限结束进程

4

我写了一个批处理文件来启动OpenVPN。如果找到客户端,我会通过运行PING来检查连通性。如果没有找到服务器,则意味着虽然OpenVPN正在运行,但未建立连接。此时我想重新启动OpenVPN。由于我在此脚本中未使用管理员帐户,因此在使用TASKKILL /F时始终会收到“权限被拒绝”的错误。有没有什么方法可以解决这个问题?

2个回答

2

有两种方法可以以管理员权限运行命令。

解决方法1:

右键单击批处理文件,然后选择“以管理员身份运行”。

解决方法2:

使用runas命令以管理员权限运行命令或批处理文件。这种方式仍然是自动化的,但您仍需要输入管理员密码。

示例:

C:\> runas /user:administrator "taskkill /f /im explorer.exe"
Enter the password for administrator:

输入runas /?以获取更多信息。


有第三种情况。如果您以管理员用户身份登录,但UAC强制您的脚本在没有管理员特权的情况下运行,您可以在必要时让您的脚本提示提升权限。当然,还有其他涉及psexec和其他第三方工具的情况。 - rojo

1
如果您已经是管理员,可以创建一个批处理文件的快捷方式,当您右键单击该快捷方式并选择“属性”->“高级”->勾选“以管理员身份运行”复选框时,一切就搞定了!每次通过这个快捷方式运行批处理脚本时,它都将作为管理员运行,并且会开心地杀死所有进程。

这在Windows 10中不存在。 - Kalamalka Kid
@KalamalkaKid,如果你右键点击快捷方式而不是原始文件,在Win 10中(我使用的是家庭版),它就在那里。在快捷方式的属性中,转到“快捷方式”->“高级”,然后有一个复选框。 - gawkface

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接