の作成方法を教えてください新しいプロセスを別のユーザーアカウントのWindows?
質問
であることができる新しいプロセスをwindowsの異なるユーザーアカウント?ないので、コンテキストメニュー"として実行"していきたいと思っていないからJava.私のユーザー名とパスワードになります。
解決
を使用して DLL を作成する必要があります。 Java ネイティブ インターフェイス (JNI) 純粋な Java コードではこれを行うことができないためです。
DLL 自体は、 ユーザーとしてプロセスを作成 別のユーザーのコンテキストでプロセスを作成する関数。そのプロセスを正常に作成するには、アクセス トークンを関数に提供する必要があります。アクセス トークン自体は、 ログオンユーザー 機能 (他のユーザーを認証するためにユーザー名とパスワードが必要です)。
他のヒント
と呼ばれるプログラムがある「runas.exeは。」あなたは、そのプロセスを実行し、プロセスとユーザー名/パスワードの適切な引数を供給することができます。私はそれが最も簡単な方法だと思います。
うたのrunas.exe プログラムと呼ばれMiniRunAsのコマンド行にパスワードを入力- http://www.source-code.biz/snippets/c/1.htm
ことができるインストールでお申込を証明する簡単な書くのに比べ、JNI DLL.
あなたのニーズに応じて、Win32 APIの「 CreateProcessWithLogonW > CreateProcessAsUser / LogonUserの "機能」よりも使いやすいです"。
MSDNドキュメントから:
The CreateProcessWithLogonW and CreateProcessWithTokenW functions are similar to the CreateProcessAsUser function, except that the caller does not need to call the LogonUser function to authenticate the user and get a token
RUNASは、あなたが資格に初回のみを入力してみましょう「/ SAVECRED」スイッチを持っています。一つの潜在的な問題は、/ SAVECREDは、資格情報を保存するとき、それはRUNASは、そのユーザーアカウントを呼び出すたびのためにそれを保存していることです。これは、巨大なセキュリティ上のリスクは、それを使用して注意することができます!
http://www.rgagnon.com/javadetails/java-0014で例(最後)の.html
の