1

VPN 経由でドメイン ユーザーになりすまそうとしています。RUNAS コマンドを使用して、コマンド プロンプトから Management Studio を実行できます。ただし、デバッグモードまたは公開アプリのいずれかで、vb アプリケーション (.net 4.5、winforms、VS 2012 Express を使用) で同じことを行うことはできません。これが私が試したものです:

  • 私のアプリケーションのrunasコマンド(スタートメニュープログラムのショートカットの場所と実行可能ファイルから); このような場合、コマンド プロンプトでパスワードを入力すると、「不明なユーザーまたはパスワードが正しくありません」というエラーが表示されます。
  • [http://williamfaulkner.co.uk/2009/04/vbnet-run-as-administrator-impersonate-a-user-2008/][ 1]、これは MSDN にリストされているもののバリエーションのようで、advapi.dll の呼び出しを使用します (どのように機能するかはよくわかりません)。この場合、コードが SQL サーバーにクエリを実行しようとすると、「不明なユーザーまたはパスワードが正しくありません」というエラーも表示されます。

これらのエラーの説明や、これを解決する方法はありますか。ssms になりすまして実行できれば、vb アプリ内で実行できるはずです。

前もって感謝します!

4

1 に答える 1

2

これは少し飛躍的ですが、Windows の特定の部分は 1 回しか実行できず、異なるユーザーからの複数のインスタンスを持つことは許可されていません。ここが本題なのかな。特にexplorer.exeについて考えています。これが RUNAS メソッドをつまずかせている可能性があると思われる場合は、次のことを試してください。

  1. runas /noprofile /user:domain\user cmd を実行して、ユーザーとして新しいコマンド ウィンドウを開始します。
  2. taskmanager を開き、explorer.exe プロセスを強制終了します (これを行うと、スタート バーが失われます)。
  3. コマンド ウィンドウ タイプ: explorer.exe
  4. スタートバーとウィンドウが戻ってきて、他のユーザーとして実行されます

次に、アプリケーションを試してください。完了したら、必ず次の方法で元に戻してください。

  1. タスクマネージャーを開きます (これは他のユーザーとして実行されます)
  2. explorer.exe プロセスを強制終了します。
  3. ctrl alt del を押してから、タスク マネージャーをクリックします (これにより、タスク マネージャーが実行されます)。
  4. タスク マネージャーで、[ファイル] - [新しいタスク] をクリックします。
  5. タイプ:explorer.exe
  6. すべてが正常に戻るはずです。
于 2012-11-07T18:02:24.947 に答える