web-dev-qa-db-ja.com

Windowsで昇格したプロンプトからパスワードなしで別のユーザーとして実行する

別のユーザーとして実行するユーティリティがいくつかあります(例:runascpaupsexec)。ただし、これらのユーティリティはすべて、それぞれのユーザーのパスワードを要求します。昇格された特権で既に実行されています。

私は以下を達成したいと思います:

  1. すでに昇格したプロンプト(Administrator)があります
  2. コマンドを実行したい(例:calc.exejohnとして、ランチャーユーティリティにパスワードを入力/渡さずに。

たとえば、Unixシステムでは次のようにします。

root@server:~# su - john
13
Razvan

いいえ、Windowsではできません。別のユーザーアカウントでアプリケーションを実行する場合は、少なくとも1回はパスワードを入力する必要があります。管理者としても。

面白いことが起こらないようにし、クリーンな監査を可能にします。ユーザーアカウントで何かが発生した場合、ユーザーは管理者の同意なしにそれを行ったことを非難することはできません。

3
Daniel

いつも使っています。初めて使用するとき(およびパスワードを変更するとき)に資格情報を入力する必要がありますが、それだけです。

runas /user:yourusernamehere /savecred "Your Executable Here"

このコマンドをbatファイルの一部として保存すると、次のようなターゲットを使用して、管理者権限でこれを起動するショートカットを作成できます。

C:\Windows\System32\cmd.exe /c "C:\yourbatfilehere.bat"
3
Tim Brigham

Windowsでは、なりすまそうとしているユーザーの現在のログオンセッションがある場合にのみ、これを行うことができます。これは、ローカルグループポリシー「認証後にクライアントを偽装する」により、Administratorsグループのメンバーがそれを正確に実行できるためです([ローカルポリシー]> [ユーザー権利の割り当て]にあります)。

これを可能にするツールの1つがProcess Hacker 2です。ローカル管理者としてツールを実行し、偽装したいユーザーとして実行されているプロセスを見つけます。それを右クリックし、[その他]> [このユーザーとして実行]を選択します。次に、そのユーザーとして実行するバイナリパス(例:cmd)を入力します。 CMDは、そのユーザーのパスワードを要求せずに、そのユーザーとして開きます。

3
Rich