[解決済み] CMDがAdministratorとして実行されているか、または昇格した特権を持っているかどうかを検出する方法は?
2022-07-15 16:31:55
質問
バッチファイルの内部から、Administrator/昇格した権限で実行しているかどうかをテストしたいのですが。
"管理者として実行"を選択しても、ユーザー名は変更されないので、うまくいきません。
もし、何の効果もないが管理者権限を必要とする、普遍的に利用可能なコマンドがあれば、それを実行し、権限をテストするためにエラー コードをチェックすることができます。 今のところ、そのようなコマンドは見つかっていません。 私が見つけたコマンドは、単一の、特定のものではないエラー コードを返すようで、それは何でも示すことができ、さまざまな理由で失敗しがちです。
私は Windows 7 にしか関心がありませんが、以前のオペレーティング システムのサポートは素晴らしいものです。
どのように解決するのですか?
追記 : Windows 8 では、これは動作しません。 この優れた回答 を参照してください。
ここでこの解決策を見つけました。 http://www.robvanderwoude.com/clevertricks.php
AT > NUL
IF %ERRORLEVEL% EQU 0 (
ECHO you are Administrator
) ELSE (
ECHO you are NOT Administrator. Exiting...
PING 127.0.0.1 > NUL 2>&1
EXIT /B 1
)
これがうまくいかないと仮定して、Win7の話なので、それが適切であれば、Powershellで以下を使用することができます。
$principal = new-object System.Security.Principal.WindowsPrincipal([System.Security.Principal.WindowsIdentity]::GetCurrent())
$principal.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator)
もしそうでなければ(バッチファイルを明示的に提案したのですから、おそらくそうでしょう)、上記を.NETで書き、その結果に基づいてexeから終了コードを返して、バッチファイルが使えるようにすることができます。
関連
-
WebAssembly、Webの新しい時代へ
-
Win10ショートカットキーBOOK(史上最強の完成度)
-
[解決済み] WindowsのCMDで1行に2つのコマンドを実行するにはどうしたらいいですか?
-
[解決済み] 特定の場所でcmdウィンドウを開くにはどうすればよいですか?
-
DockerでWindows 10からVolumeボリュームにフォルダを共有する
-
[解決済み】バッチ/cmdで "コメントアウト"(コメント追加)するには?
-
[解決済み] [Solved] バッチファイルを自動昇格させ、必要に応じてUACの管理者権限を要求するにはどうすればよいですか?
-
[解決済み] cmdで簡単なファイル検索をする方法
-
[解決済み] WindowsのIF内のバッチSETが機能しない
-
[解決済み] Windowsで.gitconfigの場所を変更する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
SetTimer(タイマー)のいくつかの使い方
-
PID 4の "Unable to open process "によってポート80が使用されています。
-
Win10ショートカットキーBOOK(史上最強の完成度)
-
[解決済み】バッチファイル内で管理者権限を要求する方法
-
[解決済み] bat ファイルで複数の maven コマンドを実行するには?
-
[解決済み] WindowsのIF内のバッチSETが機能しない
-
[解決済み] Windowsで.gitconfigの場所を変更する
-
[解決済み] 特定のファイルだけを含むディレクトリ構造をコピーする方法(Windowsのバッチファイルを使用)。
-
[解決済み] Windowsのバッチファイルで複数のコマンドを1行で実行する
-
[解決済み] WindowsでBashスクリプトを実行する方法はありますか?[クローズド]