私のAsp.Net WebアプリケーションからPSExec
を実行して、リモートサーバーに接続しようとしています。何らかの形で、資格情報が設定されていない"Access Denied Error -5"
が与えられ、PSEXECコマンドの資格情報を設定すると"2250 Network connection could not be found"
となります。私はサーバー上の管理者です。Windows authentication and Asp.Net Impersonation
が有効になっています(IIS7.5
)。もっと興味深いことに、私がconsole application
からこれを実行しようとした場合でも、ちょうどcommand prompt
を使用しても、うまく動作します。私はテストとしてping操作をしようとしています。ここでAsp.Net Webアプリケーションからsysinternals PSExecを使用してスクリプトを実行
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
を試しましたが、役に立たなかった。
あなたのお手伝いをお待ちしております。私は同様の質問を調べようとしましたが、私が直面している問題の解決策を見つけることができませんでした。
1コンソールで動作し、asp Webアプリケーションでは動作しない場合は、セキュリティ上の問題のようです。 2 .netバージョンが正しいかどうかを確認しましたか? .NET 2.0でIIS上でアプリケーションプールを実行しようとしました(私はこの問題を今日抱えていました)。 – gartenabfall
私はドットネットバージョン4.0を使用しています。はい、これ以上の認証トークンのように思われます.... – PSL
IISはコマンドプロンプトと同じユーザー権限で実行されていますか? – Powerslave