Windows 10
 Computer >> コンピューター >  >> システム >> Windows 10

Windows 10で別のユーザー(RunAs)としてプログラムを実行する方法【完全ガイド】

サポート対象のすべてのWindowsバージョンでは、現在のセッション内で別のユーザーの権限でアプリケーションを実行する(Run As)ことが可能です。これにより、スクリプト(.bat、.cmd、.vbs、.ps1)、実行可能ファイル(.exe)、アプリケーションインストーラー(.msi、.cab)などを、別のユーザー(通常は昇格された権限を持つアカウント)として実行できます。

たとえば、管理者権限を持たないユーザーセッションで、RunAsを使って管理者アカウント経由でアプリをインストールしたり、MMCスナップインを実行したりできます。また、あるアプリケーションが別のユーザーで構成されており(設定が現在のユーザーがアクセスできない別のユーザープロファイルに保存されている)、その同じ設定のまま別のユーザーのセッションから起動したい場合にも非常に役立ちます。

前提条件:セカンダリ ログオンサービスの確認

Windowsでプログラムを別のユーザーとして実行する機能は、セカンダリ ログオンサービス(seclogon)が担っています。このサービスが停止していると、本記事で紹介するすべてのRunAsの方法が動作しません。以下のPowerShellコマンドで、サービスが開始されているか確認できます。

Get-Service seclogon

Windows 10で別のユーザー(RunAs)としてプログラムを実行する方法【完全ガイド】

エクスプローラーから別のユーザーとしてアプリを実行する方法

最も簡単なのは、WindowsエクスプローラーのGUIを使う方法です。起動したいアプリケーション(またはショートカット)を見つけてShiftキーを押しながら右クリックし、コンテキストメニューから「別のユーザーとして実行」を選択します。

注:「別のユーザーとして実行」というメニュー項目が表示されない場合は、次のセクションを参照してください。

Windows 10で別のユーザー(RunAs)としてプログラムを実行する方法【完全ガイド】

次のウィンドウで、アプリケーションを実行したいユーザーアカウントの名前とパスワードを入力し、「OK」をクリックします。

Windows 10で別のユーザー(RunAs)としてプログラムを実行する方法【完全ガイド】

注:ドメインユーザーを指定する場合は、UserName@DomainNameまたはDomainName\UserNameのいずれかの形式で入力します。

重要:別のユーザーとしてプログラムを実行できるのは、そのアカウントにパスワードが設定されている場合のみです。パスワードが空のユーザーに対してRunAsを使用することはできません。

タスクマネージャーを開き、アプリケーションが指定したユーザーアカウントで実行されていることを確認しましょう。

Windows 10で別のユーザー(RunAs)としてプログラムを実行する方法【完全ガイド】

Windows 10で「別のユーザーとして実行」オプションが表示されない場合

エクスプローラーのコンテキストメニューに「別のユーザーとして実行」オプションがない場合は、ローカルグループポリシーエディター(gpedit.msc)を開き、コンピューターの構成 → 管理用テンプレート → Windowsコンポーネント → 資格情報ユーザーインターフェイスにある「資格情報の入力に信頼できるパスを要求する」ポリシーが無効(または未構成)になっていることを確認してください。

Windows 10で別のユーザー(RunAs)としてプログラムを実行する方法【完全ガイド】

CMDからrunasコマンドを使って別のユーザーとして実行する

Windows標準のコマンドラインツールrunas.exeを使えば、コマンドプロンプトから別のユーザーとしてアプリケーションを実行できます。runasコマンドでは、ユーザーのパスワードをWindows資格情報マネージャーに保存することも可能なので、毎回入力する手間が省けます。

コマンドプロンプトを開くか(Win+Rで「ファイル名を指定して実行」ウィンドウでも可)、管理者アカウントでメモ帳を起動するには、次のコマンドを実行します。

runas /user:admin "C:\Windows\notepad.exe"

ヒント:ユーザー名にスペースが含まれる場合は、引用符で囲んでください。

runas /user:"antony jr" notepad.exe

Windows 10で別のユーザー(RunAs)としてプログラムを実行する方法【完全ガイド】

続くウィンドウに「admin のパスワードを入力してください」というプロンプトが表示されるので、パスワードを入力してEnterキーを押します。

Windows 10で別のユーザー(RunAs)としてプログラムを実行する方法【完全ガイド】

アプリケーションが起動します。ウィンドウタイトルには「PCName\username として実行中」と表示されます。

Windows 10で別のユーザー(RunAs)としてプログラムを実行する方法【完全ガイド】

たとえば、別のユーザーとしてコントロールパネルを開くこともできます。

runas /user:admin control

ドメインユーザーでプログラムを実行する場合は、UserName@DomainNameまたはDomainName\UserName形式を使用します。たとえば、ドメインユーザーとしてテキストファイルをメモ帳で開くには、次のようにします。

runas /user:corp\server_admin "C:\Windows\system32\notepad.exe C:\ps\region.txt"

Windows 10で別のユーザー(RunAs)としてプログラムを実行する方法【完全ガイド】

Enter the password for corp\server_admin:
Attempting to start C:\Windows\system32\notepad.exe C:\ps\region.txt as user "corp\server_admin" ...

ADドメインに参加していないコンピューターからドメインユーザーとしてプログラムを実行したい場合もあるでしょう。その場合は、次のコマンドを使用します(コンピューターのネットワーク設定で指定されたDNSサーバーがそのドメイン名を解決できることが前提です)。

runas /netonly /user:contoso\bmorgan cmd.exe

別のユーザーとして起動する際にユーザープロファイルを読み込みたくない場合は、/noprofileパラメーターを使用します。アプリの起動がかなり速くなりますが、ユーザープロファイルにアプリデータを保存するタイプのプログラムでは正常に動作しない可能性がある点に注意してください。

パスワード入力なしでRunAsを使う方法(/savecred)

入力したユーザーの資格情報(パスワードを含む)を保存しておくこともできます。そのために/savecredパラメーターを使用します。

runas /user:admin /savecred "C:\Windows\cmd.exe"

パスワードを一度入力すると、Windows資格情報マネージャーに保存されます。

以降、同じユーザーで/savecredオプションを付けてrunasコマンドを実行すれば、Windowsが自動的に保存済みのパスワードを資格情報マネージャーから取得し、再入力を求めることはありません。

資格情報マネージャーに保存された資格情報の一覧を表示するには、次のコマンドを使用します。

rundll32.exe keymgr.dll, KRShowKeyMgr

Windows 10で別のユーザー(RunAs)としてプログラムを実行する方法【完全ガイド】

ただし、/savecredパラメーターの使用は安全性が低い点に注意が必要です。保存先のプロファイルを持つユーザーは、その権限であらゆるコマンドを実行でき、他のユーザーのパスワード変更まで行えてしまうためです。さらに、資格情報マネージャーに保存されたパスワードは比較的容易に盗み出せるため、Windowsによるパスワード保存を無効化し(特に特権管理者アカウントのパスワードは絶対に保存しないこと)をお勧めします。

注:/savecredはWindows Homeエディションでは機能しません。

別のユーザーとして実行するショートカットを作成する方法

デスクトップにショートカットを作成して、別のユーザーとしてプログラムを実行することもできます。新しいショートカットを作成し、「項目の場所」フィールドに必要なパラメーターを付けたrunasコマンドを指定するだけです。

Windows 10で別のユーザー(RunAs)としてプログラムを実行する方法【完全ガイド】

このショートカットを実行すると、ユーザーのパスワード入力を求められます。

さらにショートカットに/savecredパラメーターを指定しておけば、パスワードは初回のみの入力で済みます。パスワードは資格情報マネージャーに保存され、以後は入力を求められることなく自動的に使用されます。

こうしたショートカットは、昇格された権限が必要なプログラムの実行によく使われます。ただし、管理者権限なしでプログラムを実行したり、特定のアプリケーションに対してUACプロンプトを無効化したりする、より安全な方法も存在します。

MMCスナップインを別のユーザーとして実行する方法

場合によっては、Windows管理スナップインを別のユーザーとして実行する必要があります。たとえば、Active Directoryユーザーとコンピューター(ADUC)のRSATスナップインを別のユーザーとして実行するには、次のコマンドを使用します。

runas.exe /user:DOMAIN\USER "cmd /c start \"\" mmc %SystemRoot%\system32\dsa.msc"

同じ要領で、名前が分かっていれば他の任意のスナップインも実行できます。

Windows 10のスタートメニューに「別のユーザーとして実行」を追加する

デフォルトでは、Windows 10のスタートメニュー項目には「別のユーザーとして実行」オプションがありません。これを追加するには、ローカルグループポリシーエディター(gpedit.msc)でユーザーの構成 → 管理用テンプレート → スタート メニューとタスク バーセクションにある「スタートに"別のユーザーとして実行"コマンドを表示する」ポリシーを有効にします。

Windows 10で別のユーザー(RunAs)としてプログラムを実行する方法【完全ガイド】

gpedit.mscが利用できない環境では、レジストリキーHKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\ExplorerShowRunasDifferentuserinStartという名前のDWORD値を作成し、値を1に設定してください。次のPowerShellコマンドでレジストリ値を追加できます。

New-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\Explorer" -Name ShowRunasDifferentuserinStart -Value 1 -PropertyType DWORD -Force

Windows 10で別のユーザー(RunAs)としてプログラムを実行する方法【完全ガイド】

グループポリシー設定を更新し(gpupdate /force)、スタートメニューのプログラムに新しいコンテキストメニュー「その他 → 別のユーザーとして実行」が表示されることを確認してください。

Windows 10で別のユーザー(RunAs)としてプログラムを実行する方法【完全ガイド】

  1. Windows 10で古いプログラムを互換モードで動かす方法【トラブルシューティング付き】

    Windows XPやWindows 7の時代に使っていたお気に入りのプログラム、まだ手放せずにいませんか?Windows 10対応のアップデート版が見つからない場合、あきらめるしかないと考えがちですが、心配はいりません。実はMicrosoftがWindows 10に「互換モード」という隠し機能を搭載しており、これを活用すれば古いプログラムでも問題なく動かせる可能性があります。 互換モードを使う前の準備:プログラム互換性トラブルシューティングツール 古いプログラムを動かす前に、まずはWindows 10標準の「プログラム互換性トラブルシューティングツール」を試してみましょう。以下の手順で実行で

  2. MacでWindowsを使う方法|Parallels・Boot Campなど5つの手段を徹底比較

    Macは安全性と快適な操作性で知られています。しかし、「Windows専用のソフトウェアを使いたいから」という理由で、Windowsからの乗り換えをためらっている方も多いのではないでしょうか。 実は、その心配は不要です。仮想マシン(Virtual Machine)などの仕組みを活用すれば、1台のMac上でmacOSとWindowsの両方を利用することができます。再起動なしにOSを切り替えられる方法もあれば、ネイティブ性能でWindowsを動かせる方法もあります。 この記事では、MacでWindowsを実行する代表的な5つの方法(Parallels Desktop、VMware Fusion、B