批处理脚本:如何检查管理员权限

如何检查当前的批处理脚本是否具有管理员权限?

我知道如何用runas来调用它自己,但是不知道如何检查管理员权限。我看到的唯一解决方案是粗暴的黑客作业或使用外部程序。好吧,实际上,我不关心它是否是一项骇客的工作,只要它可以在Windows XP和更高版本上运行即可。


天涯尽头无女友
浏览 1154回答 3
3回答

炎炎设计

安德斯(Anders)解决方案对我有用,但我不确定如何将其反转以获取相反的结果(当您不是管理员时)。这是我的解决方案。它有IF和ELSE两种情况,还有一些确保人们实际阅读的ascii艺术。:)最低版本Rushyo在此发布了此解决方案:如何检测CMD是否以管理员身份运行/具有提升的特权?NET SESSION >nul 2>&1IF %ERRORLEVEL% EQU 0 (    ECHO Administrator PRIVILEGES Detected! ) ELSE (    ECHO NOT AN ADMIN!)添加错误消息,暂停和退出的版本@rem ----[ This code block detects if the script is being running with admin PRIVILEGES If it isn't it pauses and then quits]-------echo OFFNET SESSION >nul 2>&1IF %ERRORLEVEL% EQU 0 (    ECHO Administrator PRIVILEGES Detected! ) ELSE (   echo ######## ########  ########   #######  ########     echo ##       ##     ## ##     ## ##     ## ##     ##    echo ##       ##     ## ##     ## ##     ## ##     ##    echo ######   ########  ########  ##     ## ########     echo ##       ##   ##   ##   ##   ##     ## ##   ##      echo ##       ##    ##  ##    ##  ##     ## ##    ##     echo ######## ##     ## ##     ##  #######  ##     ##    echo.   echo.   echo ####### ERROR: ADMINISTRATOR PRIVILEGES REQUIRED #########   echo This script must be run as administrator to work properly!     echo If you're seeing this after clicking on a start menu icon, then right click on the shortcut and select "Run As Administrator".   echo ##########################################################   echo.   PAUSE   EXIT /B 1)@echo ON适用于WinXP-> Win8(包括32/64位版本)。编辑:8/28/2012更新为支持Windows8。@BenHooper在下面的回答中指出了这一点。请支持他的回答。
打开App,查看更多内容
随时随地看视频慕课网APP