バッチ処理でUAC画面の結果から処理を変更する

こんにちは、うしまるです。
本日はバッチ処理に関する記事となります。

わかってしまえば簡単だったのですがハマりにハマってしまったので
備忘録的に記録したいと思います。

やりたいこと!

バッチ処理でユーザーアカウント制御の認証結果をもとに処理を分岐させたい

背景

開発中のソフトウェアが本番環境へデータを自動送信する機能がついたので、開発環境でデバックしようとするとまさかの本番環境への自動送信が動く事態に。

急遽対策用としてお客様からデータを送らないようにするバッチが送られてきたのですが、毎回それを叩いてからデバックするのはめんどくさいということでバッチでソフトの起動前に強制的にバッチを起動するバッチを作成することになりました。

実装

main.bat
@echo off

rem 管理者権限でバッチを起動しようとする
call powershell start-process sub.bat -verb runas

rem ユーザーアカウント制御結果で処理を判断
if %errorlevel% neq 0 (
echo ユーザーアカウント制御画面で「いいえ」を押下
echo ここに処理を書く
pause
) else (
echo ユーザアカウント制御画面で「はい」を
echo ここに処理を書く
pause
)

sub.bat
echo subバッチ起動
pause

処理の概要
1.管理者権限でsub.batを起動しようとする
2.ユーザアカウント制御画面が起動する
3.ユーザアカウント制御で「はい」を選択するとsub.batが管理者として実行されはい側の処理へ遷移する
4.ユーザアカウント制御で「いいえ」を選択するとsub.batは実行されずにいいえ側の分岐へ遷移する

割と簡単に出来たのですがここまでたどり着くのが長かった。。。

記事が参考になったり、気に入ってもらえたら
ポチッとしてもらえると励みになります!

にほんブログ村 IT技術ブログへ にほんブログ村 IT技術ブログ Pythonへ にほんブログ村 株ブログ つみたてNISAへ
シェアしてもらえるとうれしいです!

コメントを残す

ABOUT US
usimaru
福岡でWindowsアプリケーション開発のお仕事してます。 お金に縛られない生活を目指して日々学んだことをOUTPUTしていきます。 主なテーマ ◆仕事経験から:AWS/Azure/C++/C#/Python/Ruby ◆資産形成に向けて:つみたてNISA/米国株/日本株/仮想通貨/ソーシャルレンディング ◆好きなこと:旅行/温泉/美味しいもの/布団の中 ◆目標:ブログを毎日更新目指します!