[ホーム] -
[Windows 11 FAQ 一覧] - [UACを回避する方法まとめ (Powershell , バッチ , タスクスケジューラなど)]
【目次】
UACの重要性は次のとおりです。
(1)悪意のあるソフトウェアの制限
UACは悪意のあるソフトウェア(ウィルス、RAT、トロイの木馬)や外部からの不正なアクセスがシステムレベルの変更を行うことを防ぎます。変更時に画面にUACダイアログが表示されますが、ユーザが拒否すればこの操作はキャンセルされます。もしあなたに覚えがない場合、UACダイアログが表示されたら絶対に変更を拒否してください。これにより、マルウェアやウイルスがシステムに深刻な影響を及ぼすリスクが低減します。
schtasks /run /tn "(作成したタスク名)"
(2)Powershell
Powershell でUACを回避する方法を紹介します。上記と同じくタスクスケジューラを利用します。
(a)以下バッチ作成
test.bat:
powershell -Command "Start-Process powershell.exe -ArgumentList c:\test\test.ps1 -Verb runas"
(b)タスクスケジューラーに"最上位の特権で実行する"をオンにして上記のbatを起動するタスクを作成する。
(c)上記で作成したタスクを起動するbatファイルを作成
go.bat
schtasks.exe /run /tn test
(d)go.bat を起動
(3)runas /savecred を利用
runas /savecred でプログラムを実行する方法です。
ただしこの方法はセキュリティ上危険なのでテスト環境などに限定してください。
/savecredは実行時にユーザの資格情報(ユーザ名、パスワード)を入力します。そこでビルドイン administratorの資格情報を入れるということです。
セキュリティ上ビルドイン管理者はとても重要なので、十分に注意して設定する必要があります。利用が完了したらコントロールパネルより資格情報を削除してください。
(4)ビルドインアカウントで作業
ビルドインのadministratorで作業した場合はUACは回避されます。ただしデフォルトでビルドインのadministratorは無効化されています。危険なのでこのアカウントは使うべきではありません。次のポリシーで設定変更が可能です。
参考:ユーザー アカウント制御: ビルトイン Administrator アカウントのための管理者承認モード
(5)コマンドプロンプトを管理者権限で開く
そもそもコマンドプロンプトあるいはPowershellを管理者権限で開けば、そこから実行されるプログラムはUACは表示されません。
ただし開く瞬間はUAC確認ダイアログが「ターミナル」として表示されます。
(6)UACを無効化
UACは無効化することは可能です。ただし大変危険なので十分に理解した上で実行してください。
(ご注意) 本サイト内の内容を使用して発生したいかなる時間的損害、金銭的損害あるいはいかなる損害に対して、いかなる人物も一切の責任を負いません。あくまでも個人の判断で使用してください。 本ページは独自に調査をしたアンオフィシャル(非公式)な内容です。内容に誤りがある可能性や仕様変更により内容が不正確になる可能性があります。 本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)
Copyright(c) TOOLJP.COM 1999-2024