私はバッチ スクリプトを頻繁に使用するため、現在のユーザーまたは指定されたユーザーの管理者権限を確認するために、エラーレベルの読み取りに依存しない純粋なバッチ実装を Web で検索することに多くの時間を費やしました。
ユーザーが管理者かどうかを確認するにはどうすればよいですか?
注:エラーレベルの読み取りに依存する必要がないため、この質問は重複していません。
私はバッチ スクリプトを頻繁に使用するため、現在のユーザーまたは指定されたユーザーの管理者権限を確認するために、エラーレベルの読み取りに依存しない純粋なバッチ実装を Web で検索することに多くの時間を費やしました。
ユーザーが管理者かどうかを確認するにはどうすればよいですか?
注:エラーレベルの読み取りに依存する必要がないため、この質問は重複していません。
ファイルをシステム ディレクトリに書き込もうとしない、または に依存しないバッチ スクリプトが見つからなかったのでerrorlevel
、他のスクリプトで使用したり、スタンドアロン ツールとして使用したりできるように、次のスクリプトを作成しました。
スクリプトで機能するようにコードを変更するか、プログラムにユーザー名を渡してユーザーが管理者かどうかを判断できます。ユーザー名が指定されていない場合、プログラムは現在のユーザーの管理者権限をチェックします。
@echo off
setlocal EnableDelayedExpansion
if "%~1" == "" (set user=%username%) ELSE (set user=%~1)
net user %user% | find "Local Group Memberships">temp.tmp
for /f %%a in ('findstr /i "Administrators" temp.tmp') do (
echo.
echo %user% is Admin...
echo.
set isadmin=y
del temp.tmp
pause
goto:eof
)
echo.
echo %user% is not Admin...
echo.
set isadmin=n
del temp.tmp
pause
goto:eof