Windows命令行切换管理员权限的问题

我试图通过命令切换至管理员权限,而不是右键以管理员身份运行,我搜索到的解决方案是:runas /noprofile /user:Administrator cmd来源),但是似乎并不管用,实验如下:
在cmd窗口中启动mysql服务,已知其必须在管理员权限下执行,所以理所当然地失败:
图片描述
我执行了runas /noprofile /user:Administrator cmd命令,认为cmd此时是拥有管理员权限的,但是依旧失败:
图片描述
图片描述
最后我右键以管理员身份运行,成功:
图片描述
这意味着,runas /noprofile /user:Administrator cmd并不能切换到管理员权限,既然不正确,这个命令还有什么用,怎么解决呢(正确的切换的命令),非常感谢各位大佬给出指导,蟹蟹

阅读 7.5k
1 个回答

runas有点类似于Linux下的su命令,想要无密码运行本身就需要Administrator权限。

你注意顶上的提示符有点不太一样,一个是以用户身份运行,一个显示管理员: 命令提示符,区别有点类似于Android弹出申请xxx权限。运行服务需要有管理员这个权限。

以管理员身份运行这个选项其实不是把身份切换成Administrator,而是申请管理员这个权限执行命令。所以你会发现即使你不是Administrator这个用户,只要你有管理员权限,就有可以运行这个选项。

为了直接让系统弹出申请管理员权限这个对话框(如果开启了UAC的话),以前社区通用的做法是生成一个外部的脚本,比如vbs或者powershell脚本,去调用UAC权限,弹出UAC申请管理员权限的对话框,然后用户手动点击确认获取权限。参考这个: https://stackoverflow.com/que...

也可以考虑直接使用第三方程序帮你干这个事情,好处是对于古老的系统(XP)没有UAC,也能照样运行: http://code.kliu.org/misc/ele...

我以前的自解压程序的安装脚本用的就是这种方案,同时兼容XP和Win7,甚至Win10

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
Microsoft
子站问答
访问
宣传栏