Windowsで一般ユーザーで作業をしている時に、別の権限でプログラムを実行したいなんて事がよくあります。
例えば、構築作業をしている時に一般ユーザー権限では作業や確認ができない場合に、管理者権限などで実行する事で解決できます。
そして、プログラムを管理者権限、もしくは別のユーザーで実行する方法を紹介します。ただ、Windows10、Windows Server 2016で実行する場合、UACが動作することがあります。これは、runasコマンドとUACは連動していないために発生します。
UACの動作をさせたくない場合は無効化しますが、マイクロソフトはセキュリティの観点から推奨していません。
その方法は以下のコマンドを利用します。
>runas
c:\>runas /?
RUNAS 使用法:
RUNAS [ [/noprofile | /profile] [/env] [/savecred | /netonly] ]
/user:<ユーザー名> プログラム
RUNAS [ [/noprofile | /profile] [/env] [/savecred] ]
/smartcard [/user:<ユーザー名>] プログラム
RUNAS /trustlevel:<信頼レベル> プログラム
/noprofile ユーザーのプロファイルを読み込まないように指定します。
この結果、アプリケーションをより速く読み込むことができま
すが、一部のアプリケーションが正しく動作しない可能性があ
ります。
/profile ユーザーのプロファイルを読み込むように指定します。
これは既定値です。
/env ユーザーの環境ではなく、現在の環境を使用する場合に使います
/netonly 指定された資格情報をリモート アクセスのみで使用する場合に
使います。
/savecred ユーザーが以前に保存した資格情報を使います。
Edition では利用できないので無視されます。
/smartcard 資格情報がスマート カードから提供される場合に使います。
/user <ユーザー名> の形式は、"ユーザー@ドメイン" または
"ドメイン\ユーザー" です
/showtrustlevels /trustlevel に対して引数として使用できるレベルを表示し
ます。
/trustlevel <レベル> は /showtrustlevels に列挙されているレベルの
いずれかです。
プログラム 実行可能なコマンドラインです。下の例を参照してください。
例:
> runas /noprofile /user:mymachine\administrator cmd
> runas /profile /env /user:mydomain\admin "mmc %windir%\system32\dsa.msc"
> runas /env /user:user@domain.microsoft.com "notepad \"my file.txt\""
注意: 要求されたときのみ、ユーザーのパスワードを入力してください。
注意: /profile は /netonly と互換性がありません。
注意: /savecred は /smartcard と互換性がありません。
例にもありますが、コマンドプロンプトを管理者権限で実行したい場合は、以下のコマンドを実行します。
> runas /user:domain\administrator cmd
> domain\administrator のパスワードを入力してください:XXXX
また、以下は知っておくと便利なコマンドです。
【アプリケーションの追加と削除】
appwiz.cpl
appwiz.cpl
【管理ツール】
contorol admintools