web-dev-qa-db-ja.com

別のユーザーとして実行して昇格

Windowsエクスプローラー内で、実行可能ファイルを右クリックして[管理者として実行]を選択すると、選択したプロセスが昇格された特権で起動されます。または、実行可能ファイルを右クリックして[別のユーザーとして実行]をクリックし、指定したユーザーコンテキストを使用して、標準の権限でプロセスを起動するユーザー名とパスワード。

別のユーザーとして実行し、管理者特権で実行するにはどうすればよいですか?これの完璧な例は、現在ログインしているユーザーとは異なるユーザーコンテキストを使用して管理者特権のコマンドプロンプトを開くことです。

27
Art

そのようなオプションは存在しないと思います。

回避策として、コマンドラインを管理者として開始し、次のコマンドを実行して、他のユーザーとして管理者権限でコマンドラインを実行できます。

runas/netonly/user:YourUser cmd.exe

23
Yass

はい、psexec絶対にこれを行います。

次の例は、Windows 8.1で問題なく動作します。管理者としてコマンドプロンプトを実行し、次のようにします。

// -i makes the app interactive
// -h elevates the execution context 
// Omitting the password forces a secure Prompt
psexec -u DOMAIN\user -i -h "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe"
11
Paul Smith

PowerShellを使用して実行できます。

Start-Process powershell -Credential domain\differentUserName -ArgumentList '-noprofile -command &{Start-Process "TheApp.exe" -verb runas}'
7
Darío León

これは非常に古い質問であることに気づきましたが、与えられた回答は理想的ではなく、すでに壊されています。既存の答えはすべて、古風なコマンドを入力し、実行可能ファイルへの正確なパスを知っている必要があります。理想的なオプションは、特権の昇格にすでに使用しているのと同じプロセスを使用してこれを可能にするでしょう。

Windowsの非ホームエディション(Vista〜10)を使用している場合は、セキュリティポリシーマネージャーを使用して、昇格が発生するたびにパスワードの入力を要求するようにすることができます。また、完全に異なるユーザーを選択してtheir password ...を入力するオプションも提供されます。これにより、昇格されたプロセスがユーザーとして実行されます。

スタートメニューを開き、secpol.mscとEnterキーを押して起動します(使用可能な場合)。あなたが探しています Local Policies> Security Options> User Account Control: Behavior of the elevation Prompt for administrators in Admin Approval Mode> Prompt for credentials。 Vistaにも同様のオプションがあり、「管理者承認モード」には言及していませんが、同じことを行います。

これは他のオプションよりもはるかに自然なオプションであり、* nixのgksudoを連想させます。ただし、Windowsのエディションにsecpol.mscが含まれていない場合は、レジストリハッカーを有効にして有効にする必要があります。

2
Cliff Armstrong

実行アカウントとしてログオンすると、プロパティ/互換性ページで「管理者としてこのプログラムを実行する」フラグを設定できることがわかりました。次に、セカンダリアカウントにログオンし、Shiftクリック実行を実行して、管理者として開きます。

0
Alan Thompson