代码之家  ›  专栏  ›  技术社区  ›  Chris Horn

命令提示符“runas-user:<admin-user><Command>”未正确执行

  •  0
  • Chris Horn  · 技术社区  · 9 年前

    我希望能够从我的C++程序调用netsh。我一直在尝试使用system()来实现这一点。我不知道system()的任何选项会赋予生成的命令提示符管理员权限,所以我一直在尝试使用runas命令。我一直在测试基本命令提示符下的命令:

    runas /user:<admin-user> "netsh int ip set address \"Local Area Connection\" static <IP address>"
    

    虽然netsh命令本身在以管理员身份运行的命令提示符下运行得很好,但该命令的runas版本在正常命令提示符下似乎不起作用。有什么建议吗?

    1 回复  |  直到 9 年前
        1
  •  1
  •   Serge Ballesta    9 年前

    欢迎来到windows管理脚本的世界!使用时 runas 您只要求windows更改用户,但不能要求提升权限。

    我找到的唯一方法就是使用短链接。在文件资源管理器下,创建一个指向 .bat 或更好 .cmd 文件然后转到shortlink的属性选项卡 shortlink ,应该有 Advanced 可以检查的按钮 Run as administrator .

    然后,您可以从命令提示符,甚至从另一个批处理文件启动所有这些操作:

    link_name.lnk
    

    注意,真实姓名可能不是我上面写的:我只有一个法语系统,关键字是 Propriétés , Raccourci , Avancé ... Exécuter en tant qu'administrateur .