2019-05-23T03:53:33Z kzstock runasコマンドでUACを回避する方法|User Account Control(ユーザーアカウント制御)
Scrap 2nd.
3

runasコマンドでUACを回避する方法|User Account Control(ユーザーアカウント制御)

1st:

c:\_
管理者:コマンド プロンプトー □ × 
C:\>runas /savecred /user:administrator "xxx.exe"


実行ファイル (拡張子 .exe) を "管理者として実行" すると UAC が表示されます。

UACはWindows Vista以降のWindows OSに実装されているセキュリティの基盤となる技術です。

UAC: User Account Control|ユーザーアカウント制御

管理者権限のあるアカウントでWindowsにログインしていても、アプリケーションは標準ユーザー権限で動作します。

UACが有効になっている時にアプリケーションが管理者権限を要求した時は、UACダイアログが起動して権限を昇格していいか否かの確認を求めてきます。

これにより、マルウェアなどの悪意のあるアプリケーションが Windows OSに変更を加えられないようにする狙いがあります。

本投稿では、UACダイアログを回避することができるコマンド runas がWindowsに準備されているので、使い方をメモしています。

併せて、コマンドプロンプトが苦手な方向けに ElevatedShortcut というソフトウェアを紹介しています。

ユーザーアカウント制御


UAC の弊害

例えば、スタートアップフォルダーに登録されたプログラム(または、ショートカット)は、Windows OS の起動処理に続いて自動的に実行されますが、管理者権限を要求するプログラムが混在している時は、そのプログラムがUACダイアログを表示するため、ユーザーは「はい|いいえ」を選択しなければなりません。

この動作自体は、ユーザーの知らないプログラムがWindowsシステムにアクセスすることを検知および抑止することができるので便利な仕組みですが、安全性が確認されているプログラムでも常時「はい」を選択しなければならず煩わしいと感じます。

安全性が担保されたプログラムは UAC を回避して起動できるように設定すると利便性が高まります。

Windows 10 のスタートアップフォルダーは次の場所にあります。

Startup Folder
xxx: Login account Name
C:\Users\xxx\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

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

UAC を回避する方法

今回はUACを回避する方法として2つメモします。

  • runasコマンドをショートカットを作成して実行する方法
  • ElevatedShortcut を利用する方法

runas コマンド (runas.exe) は Windows に付属するコマンドラインツールです。

コマンドプロンプトを起動して runas xxx と入力するか、そのコマンドをショートカットとして作成して実行することができます。

runasコマンドをショートカットを作成して実行する方法

お使いのWindowsが runasコマンドをサポートしているか否かは、コマンドプロンプトを起動して以下のコマンドを実行します。
>runas /?
"RUNAS 使用法:" と表示されたら runas コマンドを利用することができます。

併せて runas のヘルプが表示されるので参考にしてください。

c:\_
管理者:コマンド プロンプトー □ × 
C:\>runas /?
RUNAS 使用法:
RUNAS [ [/noprofile | /profile] [/env] [/savecred | /netonly] ]
        /user:<ユーザー名> プログラム

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

runas.exe が存在するのにコマンドプロンプトから起動できない?

runas.exe の場所
C:\Windows\System32\runas.exe
レアケースですが、コマンドプロンプトから runas コマンドが動作しない場合は、環境変数に "C:\Windows\System32\" を設定するか、C:\Windows\System32\ フォルダに移動してからコマンドプロンプトを起動して runas コマンドを利用します。
  1. ファイルのない部分で Shift+右クリック
  2. コマンド ウィンドウをここで開く(W) をクリック

runasをコマンドプロンプトで実行する方法

runas の引数にUACダイアログを回避させたいプログラムを指定して実行すると、そのプログラムはUACダイアログを回避して起動します。

>runas /savecred /user:administrator "<プログラムのパス>"
c:\_
管理者:コマンド プロンプトー □ × 
C:\>runas /savecred /user:administrator "c:\tclock\tclock.exe"

runasを実行するショートカットを作成する方法

Windowsのスタートアップフォルダーに登録されたプログラムをUACを回避して起動させたい時は、そのプログラムのショートカットの代わりに、runasショートカットを配置することになります。
1. 新規作成ウィザードを起動する
エクスプローラー > 新規作成 > ショートカット

新規作成-ショートカット
2. 項目の場所を入力する
※参照ボタンは使いません
"項目の場所を入力してください" の下に runas ... のコマンドを入力します。
"次へ" をクリックする。
  • runas /savecred /user:administrator "<UACを回避させたいプログラムのパス>" 
ショートカットの作成
3. このショートカットの名前を入力してください
"このショートカットの名前を入力してください" の下に動作の判別できる名前を付けてから "完了" をクリックすると UAC を回避することができるショートカットが作成されます。

初回実行時のみadministratorのパスワードを要求される

作成したショートカットは初回実行時のみ administrator のパスワードを要求してきます。

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

runas パラメーター

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

あとがき

ElevatedShortcutを入手するには?

UACを回避してプログラムを管理者権限で起動するショートカットを作成するソフトウェアが ElevatedShortcut です。

ElevatedShortcut は Windows チューニングソフトウェア Winaero に統合されたので、単体の公開は終了しました。

公式サイトから ElevatedShortcut を入手することはできなくなったので Winaero を利用するほかありませんが、Internet Archive から入手することは可能です。

ElevatedShortcut の情報は関連記事を参照してください。


おわり
次の投稿 前の投稿 ホーム

0 件のコメント:

コメントを投稿

にゃんつくばっと