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