Windows命令行,cmd / powershell 获取管理员权限方案
发布于 作者:苏南大叔 来源:程序如此灵动~
最近写的几个程序,总是要求命令行具有管理员权限。通常的做法就是在cmd图标上面,点击右键,选择“以管理员身份运行”。但是这个操作,太令人审美疲劳了。在本文中,苏南大叔试图选择其它获得“管理员模式”的几种方案。

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验总结。测试环境:win10@22h2,cmd,powershell,cmder@1.3.25.328。
判断是否具有管理员权限
判断是否有管理员权限的标准,最直观的方式,可以观察窗口的标题栏。有管理员权限的话,会显示“管理员”字样。
cmd判断
在CMD中,可以使用以下命令判断当前是否具有管理员权限:
net session >nul 2>&1
echo %errorlevel%如果返回值为0,表示具有管理员权限;如果返回值为2,表示没有管理员权限。

powershell判断
在PowerShell中,可以使用:
$currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())
$currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
cmder判断
因为cmder是对一系列命令行软件的包装。所以,判断标准比较多,
获取管理员权限【通用】
【方案一】在目标程序图标,右键选择"以管理员身份运行"。
【方案二】目标图标聚焦后,快捷键,shift+ctrl+enter。(例如:开始运行,输入cmd)
powershell获取管理员权限
powershell里面,直接执行命令:
Start-Process PowerShell -Verb RunAs
Cmder 获取管理员权限【推荐】
cmder设置,general里面,startup task,选个合适的admin即可。下次再打开cmder,就是个默认的管理员模式了。

参考文章:
结语
所以,本文的结论是这样的:如果条件允许,安装一个豪华版的cmder,然后配置一个管理员权限的startup task。就是最佳选择。
更多苏南大叔的命令行相关经验文字,可以参考: