3

私はバッチ スクリプトを頻繁に使用するため、現在のユーザーまたは指定されたユーザーの管理者権限を確認するために、エラーレベルの読み取りに依存しない純粋なバッチ実装を Web で検索することに多くの時間を費やしました。

ユーザーが管理者かどうかを確認するにはどうすればよいですか?

注:エラーレベルの読み取りに依存する必要がないため、この質問は重複していません。

4

2 に答える 2

2

ファイルをシステム ディレクトリに書き込もうとしない、または に依存しないバッチ スクリプトが見つからなかったので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
于 2013-04-12T02:56:32.643 に答える