我希望能够从我的C ++程序中调用netsh。我一直在尝试使用system()来实现这一目标。我不知道system()的任何选项会给出结果命令提示管理员权限,所以我一直在尝试使用runas命令。我一直在基本的命令提示符中测试命令:
runas /user:<admin-user> "netsh int ip set address \"Local Area Connection\" static <IP address>"
虽然netsh命令本身在以管理员身份运行的命令提示符下完美运行,但该命令的runas版本似乎无法在正常的命令提示符下运行。有什么建议吗?
答案 0 :(得分:1)
欢迎来到windows管理脚本的世界!使用runas
时,您只要求Windows更改用户,但不能要求提升权限。
我找到的唯一方法就是使用短链接。在文件资源管理器下,您可以创建指向.bat
或更好.cmd
文件的短链接。然后,您转到短链接的属性,标签shortlink
,应该有Advanced
按钮,您可以在其中查看Run as administrator
。
然后你可以从命令提示符开始,甚至从另一个批处理文件开始:
link_name.lnk
请注意,真实姓名可能不是我上面写的:我只有一个法语系统,关键字是Propriétés
,Raccourci
,Avancé ...
和Exécuter en tant qu'administrateur
。