Windows の sudo / su は runas


2014/12/11 update:
本記事の方法より、良い方法が見つかりましたので、次の記事を参照されることをおすすめします:

Windows で sudo なことをする – みむらの手記手帳


 

覚え書き程度に。

linux や unix の su コマンドや sudo コマンドに該当するコマンドとして、
Windows には runas コマンドが存在します。

ヘルプ:

RUNAS 使用法:

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

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

RUNAS /trustlevel:<信頼レベル> プログラム

   /noprofile        ユーザーのプロファイルを読み込まないように指定します。
                     この結果、アプリケーションをより速く読み込むことができま
                     すが、一部のアプリケーションが正しく動作しない可能性があ
                     ります。
   /profile          ユーザーのプロファイルを読み込むように指定します。
                     これは既定値です。
   /env              ユーザーの環境ではなく、現在の環境を使用する場合に使います
   /netonly          指定された資格情報をリモート アクセスのみで使用する場合に
                     使います。
   /savecred         ユーザーが以前に保存した資格情報を使います。
                     このオプションは Windows 7 Home Edition または Windows 7 Starter Edition では使用できません
                     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:administrator cmd

これで、 administrator で cmd (コマンドプロンプト) が立ち上がります。

 

同様に、TEST というユーザで calc (電卓) を立ち上げたいときは、

runas /user:TEST calc

というような要領で。

 

要は、

runas /user:(USERNAME) (COMMAND)

というところ。ひとまずメモまで。


 

関連記事