Asp.Net Web アプリケーションから実行PSExec
してリモート サーバーに接続しようとしています。どういうわけか"Access Denied Error -5"
、資格情報が設定されていない状態で提供され、PSEXECコマンドで資格情報を設定することで "2250 Network connection could not be found"
. 私はサーバーの管理者であり、Windows authentication and Asp.Net Impersonation
有効にしています ( IIS7.5
)。さらに興味深いことに、これを aconsole application
または a から実行しようとすると、 を使用するcommand prompt
だけで正常に動作します。テストとして ping 操作のみを実行しようとしています。
これが私のコードスニペットです:-
var startInfo = new ProcessStartInfo{
CreateNoWindow = true,
UseShellExecute = false,
FileName = FilePath,
Arguments = CommandArgs
}
Process vsCommandProcess = Process.Start(startInfo);
vsCommandProcess.WaitForExit();
var exitCode = vsCommandProcess.ExitCode;
if (vsCommandProcess.ExitCode != 0)
{
...rest of the code
ここ:-
FilePath --> C:\pstools\psexec.exe
Arguments --> \\servername -accepteula -u domain\userName -p password ipconfig (1)
\\servername -accepteula ipconfig (2)
(1) Gives Error 2250 (2) gives Error 5
コンソール アプリケーションでも同じコマンドとコードが機能します。だから私は間違いなくマシンにリモートへの資格情報を引き継ぐことができないAsp.netアプリケーションと関係があると信じています。私はイベントを試みstartInfo.LoadUserProfile
ましたが、役に立ちませんでした。
あなたの助けに感謝。同様の質問を探してみましたが、直面している問題の解決策が見つかりませんでした。