runas でUACをスキップする方法

このサイトを検索 | Search this site
PC
UAC: User Account Control、ユーザーアカウント制御
悪意のあるアプリケーションからWindowsを守るための防波堤

runas (runas.exe)

runasコマンドは、Windowsに実装されたコマンドラインツールで、他のユーザーの権限でプログラムやコマンドを実行する機能を持っています。

runasコマンドを使用することで、現在ログインしているユーザーとは別のユーザーアカウントでプログラムを実行することができます。

例えば、管理者特権でプログラムを実行したい場合、runasコマンドを使って、管理者アカウントでプログラムを実行することができます。

UAC (User Account Control)

ユーザーアカウント制御(UAC)は、Windowsのセキュリティ機能の一つで、管理者特権で実行される悪意のあるコードを制限することで、マルウェアのリスクを軽減するために設計されています。

UACは、各アプリケーションで管理者アクセストークンを必要とし、エンドユーザーに同意を求める必要があります。ただし、親プロセスと子プロセスの間に存在するリレーションシップでは、子プロセスは親プロセスからユーザーのアクセストークンを継承します。

UACは、Windows Vista以降のWindowsに実装されたセキュリティの基盤となる技術のためデフォルトで有効になっており、アプリケーションのインストールやシステム設定を変更する場合など、Windowsシステムに重要な変更を加える際に、実行を許可するかどうかを事前に確認する機能です。

これにより、マルウェアなどの悪意のあるアプリケーションがWindowsシステムを安易に変更できないようになりました。

Windowsは次の動作をします。

[既定の動作]
  1. 管理者特権のあるユーザーアカウントでWindowsにログインしても、アプリはユーザーモードで動作する(標準ユーザー権限)
  2. アプリが管理者特権を要求した時は、UACダイアログを表示してユーザーへ通知する(ユーザーアカウント制御)
  3. はいを選択した時のみ、アプリは管理者特権で動作することができる


UACが反応した時のWindows

UACダイアログ
文字起こし
「この不明な発行元からのアプリがデバイスに変更を加えることを許可しますか?」

uac

RUNAS.exe

cmd_300x.gif
runas はUACダイアログをスキップするオプションがあります

スタートアップフォルダに登録したプログラムの中に管理者特権を要求するものがある場合、UACダイアログが表示され処理が中断しますが、runas を利用するとはいをクリックする手間を省くことができます。

具体的には、runas のオプションスイッチ /savecred を使います。

コマンドプロンプトはちょっと~...?

という場合は、runasコマンドショートカットを作成することができる ElevatedShortcut を利用する方法があります。

ElevatedShortcut は Winaero Tweakerに統合されましたが、Internet Archive からダウンロードすることができます。

特にこだわりがなければ、WinaeroTweaker を利用しましょう。

UACダイアログをパスしてプログラムを実行させる方法

UACダイアログをパスしてプログラムを実行させる方法

ElevatedShortcut は特定プログラムの UACダイアログを回避するために、タスクスケジューラ経由でアプリケーションを起動するショートカットを作成するソフトウェアです。

UAC の弊害

cmd_300x.gif

例えば、

スタートアップフォルダーに登録されたプログラム(またはショートカット)は、Windows OS のロードが終わると自動的に実行されますが、管理者特権を要求するプログラムの順番になるとUACが反応して処理が中断します。

ユーザーは「はい|いいえ」を選択するまで先に進めないので、安全性が確認されているプログラムでも「はい」を選択するまで先に進めないのは煩わしいです。

[Windows起動処理]
  1. PC電源ON
  2. Windowsシステムファイルがロードされる
  3. レジストリ、タスクスケジューラー、スタートアップフォルダーに登録されたプログラムがロードされる(スタートアップ処理)
  4. 管理者特権を要求するプログラムがあるとUACが反応して処理が中断する
  5. [はい|いいえ] を選択する ← ボトルネック
  6. スタートアップ処理終了
  7. Windows起動処理終了

スタートアップフォルダー

※Windows 10の例

スタートアップフォルダーは自動起動させたいプログラムのショートカットを登録するためのWindowsの特殊なフォルダーです。

Startup Folder

*ABC: Login account Name

C:\Users\ABC\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

すべてのユーザーに有効
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

UACをスキップする方法

instructions
この記事はPLAN-Aの手順を記述しています。
PLAN-Bは関連記事をお読みください。PLAN-Cはセキュリティが甘くなるのでお勧めできませんが設定画面を掲載したので参考にしてください。
[PLAN]
  1. runasコマンドのショートカットを作成する。 ← この記事
  2. ElevatedShortcut(Winaero Tweaker) を利用する。(関連記事
  3. ユーザーアカウント制御の設定を「通知しない」に変更する。

runasチェック

runas.exeが実行可能か否かを確認することができます。

通常起動したコマンドプロンプトを使用します。

実行するコマンド。

>runas /?

"RUNAS 使用法:" と表示されたら runas コマンドが利用できます。併せてヘルプが表示されるので参考にしてください。
c:\_
管理者:コマンド プロンプトー □ × 
C:\Windows\System32>runas /?
RUNAS 使用法:
RUNAS [ [/noprofile | /profile] [/env] [/savecred | /netonly] ]
/user:<ユーザー名> プログラム

RUNAS [ [/noprofile | /profile] [/env] [/savecred] ]
/smartcard [/user:<ユーザー名>] プログラム

ヘルプが表示されない?
ヘルプが表示されない時は、runas.exeを利用することはできません。

以下の場所にrunas.exeが存在することを確認しましょう。

runas.exe の場所
C:\Windows\System32\runas.exe

管理者特権でコマンドプロンプトを起動してもヘルプが表示されない時は、お使いのPCはrunas.exeは使用できません。

レアケースですね...
たぶんシステムがおかしい...かも?

コマンドプロンプトから実行する

cmd_300x.gif コマンドプロンプトで正しく動作したら、入力したコマンド一式をショートカットとして保存する方法がお勧めです。

[/savecred] オプションは初回に限りダイアログが表示されます。2回目以降は表示されません。

書式は次の通りです。

>runas /savecred /user:administrator "<プログラムのパス>"

<プログラムのパス>はフルパスを指定します。

以下は、通知領域の時計を改造することができるソフトウェア「TClock」を管理者として起動するための設定例です。
c:\_
管理者:コマンド プロンプトー □ × 
C:\>runas /savecred /user:administrator "c:\tclock\tclock.exe"

ショートカットを作成する

shortcut.png
前項の手順を踏んでいると、このステップはコピペするだけです。

1. 新規作成ウィザードを起動する

エクスプローラー > ホーム > 新しいアイテム > ショートカット

shortcut

2. 場所を入力する

※参照ボタンは使いません

[手順]
  1. 「項目の場所を入力してください」の下に runas ... コマンドを入力する
  2. 次へを選択する

runas /savecred /user:administrator "<UACを回避させたいプログラムのパス>"

runas-NewShortcut

3. 名前をつける

[手順]
  1. 「このショートカットの名前を入力してください」の下に任意の文字列を入力する
  2. 完了をクリックする

入力例:runas TClock

runas-giveitname

パスワードを要求される?

ショートカットを実行した時にadministratorのパスワードを要求された時は、adminstratorのパスワードを入力してください。

2回目からは [/savecred] オプションが機能するのでパスワードは要求されません。

runas パラメーター

出典:Runas - Microsoft
パラメーター説明
/profileユーザーのプロファイルを読み込みます。既定値です。このパラメーターは/netonlyパラメーターと併用できません。
/no profileユーザー プロファイルを読み込まないように指定します。これはアプリケーションをより迅速にロードすることができますが、アプリケーションによっては誤動作を引き起こします。
/envユーザーのローカル環境ではなく、現在のネットワーク環境を使用することを指定します。
/netonly指定したユーザー情報がリモート アクセスのみであることを示します。このパラメーターは、/profileパラメーターと併用できません。
/savecredこのユーザーが資格情報を以前保存したかどうかを示します。Windows Vista Home または Windows Vista Starter エディションでは、このパラメーターは利用可能ではないため、無視されます。このパラメーターは/smartcardパラメーターと併用できません。
/smartcard資格情報が、スマート カードから供給されるかどうかを示します。このパラメーターは/savecredパラメーターと併用できません。
/showtrustlevels/trustlevelへの引数として使用できる、信頼レベルが表示されます。
/trustlevelアプリケーションを実行する、承認のレベルを指定します。/showtrustlevelsを使用し、利用できる信頼レベルを参照してください。
/user:<UserAccountName> "<ProgramName> <PathToProgramFile>"プログラムを実行するユーザーアカウントの名前、プログラム名、およびプログラムファイルへのパスを指定します。 ユーザーアカウント名の形式は、<ユーザー>@<ドメイン>または<ドメイン>\<ユーザーアカウント名>である必要があります。
/?コマンド プロンプトでヘルプを表示します。

参考:UACをOFFにする

ユーザーアカウント制御を「通知しない」に設定すると、UACダイアログをスキップすることができますが、セキュリティ上好ましくないのでお勧めできません。

[スナップショット]
uac_settings

Administrator

Administrator はWindowsの特別なアカウントです。

runas.exe を使用する時は、Administrator が使える状態になっている必要があります。

ElevatedShortcut

ElevatedShortcutは、runasショートカットを作成することができるソフトウェアです。

ElevatedShortcutはWindowsチューニングソフトウェア「Winaero」に統合されたので単体の公開は終わってますが、Internet Archiveから入手することができます。

入手方法↓

UACダイアログをパスしてプログラムを実行させる方法|Elevated Shortcut

起動しようとしているプログラムが管理者特権を要求する場合、UACダイアログが表示され起動処理が中断します。 Windows 7に搭載されたこのセキュリティの仕組みにより、ウイルスや...

まとめ

matome
reload
  • runas.exe ショートカットを作成すると、UACをスキップすることができる。
  • コマンド:
    > runas /savecred /user:administrator c:\program_pass
  • runas.exe の引数に Administrator を使用するため、Administratorがアクティブ化されている必要がある。
  • ElevatedShortcut(フリーソフト)を利用する方法もある。
  • startup | SC2

Elevated Shortcut は、UACをバイパスするショートカットを作成するツールです。

Elevated ShortcutでUACをバイパスする方法

Elevated ShortcutでUACをバイパスする方法

UACは、Windowsセキュリティの重要な機能の一つです。スタートアップに登録した信頼するプログラムであってもUACが反応するため、処理が中断するというデメリットがあります。緩和手段としてElevated Shortcutを利用することができます。

 External link
検証:Windows 10 Pro November 2019 Update, v1909.18363.836
SC2
ブログサークルSNS
クリックして応援してね!
人気ブログランキングPVアクセスランキング にほんブログ村ブログランキング・にほんブログ村へ

このサイトを検索 | Search this site