トップ回答者
runasコマンドでuser:Administratorとしても管理者権限で動かせない

質問
-
発生している現象としては下記のようになります。
1)動作に管理者権限が必要なアプリケーション(IPアドレスの変更操作ができるフリーソフト)を一般権限のユーザーで動かしたい。
2)下記のコマンドを使い、バッチファイル経由で上記アプリケーションを起動する
runas /savecred /user:administrator <アプリケーションの実行ファイル>
3)アプリケーションが起動してきてから操作をしても正常に動作しない
→ログを見ると、管理者特権がないので動作できない旨の内容が記載されている
このようにrunasでAdministratorとして動かしても、ユーザー:Administratorとして動いていないように見られる状態です。
発生する状況もまちまちで、同イメージからクローニング展開した端末同士でも現象が発生する端末としない端末があり、ある時突然現象が発生する端末があるなど、現象が発生する端末の共通点が全くないような状況です。
またこの現象が発生するとアプリケーションインストール時など管理者特権が必要な場合に、明示的に「右クリック→管理者として実行」を選択しない限りUACのウインドウも表示されなくなってしまいます。現象が発生する端末に対してsfcやdismでの修復、ユーザー:Administratorを改めて有効化するなど試してみましたが全く治らない状態です。
修復方法について何か情報をお持ちの方がいましたら、是非ともご協力いただきたく思います。
回答
-
チャブーンさまに教えてもらった構文をベースに動作させることができました。
他の方の参考になればと思うので最終形を記載しておきます。Runas /savecred /user:Administrator "powershell start-process <プログラム> -verb runas"
「Start-Processを-verb Ruasで実行する」だけだと標準ユーザー環境ではUAC昇格のダイアログで管理者ユーザー名とパスワードの入力を求められたので、先に「Runas /user:Administrator」でAdministratorのユーザー名パスワードを渡しておいたら入力なしでそのままプログラムを実行できました。
今までと同じように初回はパスワードの入力が必要でしたが、とりあえず目的の動作は達成できました。- 回答としてマーク tawara-hiro 2020年1月17日 8:06
-
チャブーンです。
この件ですが、端的にいうと「runas」コマンドで「昇格済み管理者権限」で起動させることはできません。runasはWindows Server 2003レベルの「UACを含まない管理者スイッチ」を想定しているため、UAC昇格とは連携していません。わからなければ、実行した状態で「whoami /priv」を実行すると、特権名が少ないのでわかります。
結論としてコマンドで実行するには、以下のように「コマンドプロンプトでStart-Processを-verb Ruasで実行する」必要があります。この場合、UAC昇格のダイアログは必ず表示されます。
powershell -command start-process cmd -verb runas
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
- 回答の候補に設定 FarenaMicrosoft contingent staff, Moderator 2019年11月19日 6:28
- 回答としてマーク tawara-hiro 2019年12月5日 7:26
すべての返信
-
チャブーンです。
この件ですが、端的にいうと「runas」コマンドで「昇格済み管理者権限」で起動させることはできません。runasはWindows Server 2003レベルの「UACを含まない管理者スイッチ」を想定しているため、UAC昇格とは連携していません。わからなければ、実行した状態で「whoami /priv」を実行すると、特権名が少ないのでわかります。
結論としてコマンドで実行するには、以下のように「コマンドプロンプトでStart-Processを-verb Ruasで実行する」必要があります。この場合、UAC昇格のダイアログは必ず表示されます。
powershell -command start-process cmd -verb runas
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
- 回答の候補に設定 FarenaMicrosoft contingent staff, Moderator 2019年11月19日 6:28
- 回答としてマーク tawara-hiro 2019年12月5日 7:26
-
チャブーンさまに教えてもらった構文をベースに動作させることができました。
他の方の参考になればと思うので最終形を記載しておきます。Runas /savecred /user:Administrator "powershell start-process <プログラム> -verb runas"
「Start-Processを-verb Ruasで実行する」だけだと標準ユーザー環境ではUAC昇格のダイアログで管理者ユーザー名とパスワードの入力を求められたので、先に「Runas /user:Administrator」でAdministratorのユーザー名パスワードを渡しておいたら入力なしでそのままプログラムを実行できました。
今までと同じように初回はパスワードの入力が必要でしたが、とりあえず目的の動作は達成できました。- 回答としてマーク tawara-hiro 2020年1月17日 8:06