首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Windows批处理文件中作为管理员只运行一些命令?

如何在Windows批处理文件中作为管理员只运行一些命令?
EN

Stack Overflow用户
提问于 2020-04-11 03:32:33
回答 1查看 187关注 0票数 0

通过电子邮件,我正在帮助其他人设置Windows 7防火墙规则,以防止缩放视频会议客户端访问互联网,除非用户显式启动它。(目前没有证据表明Zoom会这么做,但随着有关Zoom的所有问题曝光,她希望格外谨慎。)

她设置了“允许”Windows防火墙规则,并将其命名为"Zoom 1“和"Zoom 2”( "1“和"2”用于OUT和IN规则)。

所以现在,当她想要使用Zoom时,她启用了这2条防火墙规则,当她完成时,她会禁用它们。

我想帮助她自动化这一点,所以我写了一个简单的批处理文件并发送给她:

代码语言:javascript
复制
 netsh advfirewall firewall set rule name="Zoom 1" new enable=yes
 netsh advfirewall firewall set rule name="Zoom 2" new enable=yes
 pathname\zoom.exe
 netsh advfirewall firewall set rule name="Zoom 1" new enable=no
 netsh advfirewall firewall set rule name="Zoom 2" new enable=no

当她运行它时,她会得到通知,对于netsh命令,“请求的操作需要提升”(admin)。

如何将此批处理文件修改为以管理员身份运行netsh命令,而不是zoom.exe

EN

回答 1

Stack Overflow用户

发布于 2020-04-11 05:35:23

我不知道你到底是什么意思,但是:

代码语言:javascript
复制
@echo off
net session >nul 2>&1 || (
MSHTA "javascript: var shell = new ActiveXObject('shell.application'); shell.ShellExecute('%~nx0', '', '', 'runas', 1);close();"
exit /b
)
whoami /priv
pause
netsh advfirewall firewall set rule name="Zoom 1" new enable=yes
netsh advfirewall firewall set rule name="Zoom 2" new enable=yes
explorer zoom.exe
netsh advfirewall firewall set rule name="Zoom 1" new enable=no
netsh advfirewall firewall set rule name="Zoom 2" new enable=no

使用mshta提示UAC。

explorer总是在中(或低)完整性运行,无论父进程的完整性级别。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61151791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档