管理者セッションからユーザーセッションで実行中のプログラムインスタンスを生成する

管理者セッションからユーザーセッションで実行中のプログラムインスタンスを生成する

このトピックについてはオンラインで何も見つけられないようです。なぜなら、それらはすべて、run as を使用して逆の方向に進む(権限を昇格する)ことに応答しているからです。

シナリオ: マシン上で、厳しく制限され、権限の低いユーザーとしてローカルに実行したいプログラムがあります。そのユーザーは、その目的のためだけにそのマシン上に作成されています。管理者 RDP セッションからそのユーザーのログインを生成してプログラムを実行し、管理者アカウントをログアウトして、権限が最も低いユーザーはログインしたままロックされたままにしておく機能が必要です。

これは本当にあるのでしょうか? 誰かこれを試したことがあるかどうか、ちょっと気になります。私はすでにコンパイルされたサードパーティの実行可能ファイルを起動しようとしているので、これをバックグラウンド サービスとして正確に書き直すことはできません。また、おそらく多くの権限が必要になるため、そうしたくもありません。

また、リモート ユーザー グループには最小権限ユーザーを追加したくないと思います。これは、保護すべき別のアカウントとパスワードだからです。ラップトップをオフィスに置いて、自宅から管理者 RDP 経由でログインし、ユーザーのコンテキストからプログラムを起動して、管理者セッションからログオフする方がよいでしょう。

ご意見は?

答え1

使用psexec

psexec -d -accepteula -u <username> -p <passwd> <executable.exe> [arguments]

セキュリティ リスクを回避するには、-p オプションを削除し、コマンドの実行後にプロンプ​​トが表示されたら入力する必要があります。

代わりに、srvany.exeこれにより、標準の実行可能ファイルから Windows サービスが作成されます。Windows サービスは、自動または手動で開始することができ、システム上の任意のユーザーとして実行するように設定できますservices.msc

関連情報