Tôi đang cố gắng thực thi PSExec
từ ứng dụng Web Asp.Net của tôi để kết nối với máy chủ từ xa. Bằng cách nào đó, nó cung cấp cho "Access Denied Error -5"
không có thông tin xác thực được đặt và bằng cách đặt thông tin xác thực trong lệnh PSEXEC, nó cung cấp "2250 Network connection could not be found"
. Tôi là quản trị viên trên máy chủ và tôi đã bật Windows authentication and Asp.Net Impersonation
(IIS7.5
). Thú vị hơn khi tôi cố gắng thực hiện điều này từ một console application
hoặc thậm chí chỉ sử dụng command prompt
nó chỉ hoạt động tốt. Tôi đang cố gắng làm một thao tác ping như một bài kiểm tra.Thực thi tập lệnh bằng cách sử dụng sysinternals PSExec từ ứng dụng Web Asp.Net
Dưới đây là đoạn mã của tôi: -
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
đây: -
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
Lệnh cùng và mã làm việc với một ứng dụng console. SO tôi tin rằng nó chắc chắn là một cái gì đó để làm với các ứng dụng Asp.net mà không thể thực hiện qua các thông tin để từ xa đến máy. Tôi đã thử sự kiện startInfo.LoadUserProfile
nhưng không có kết quả.
Đánh giá cao sự trợ giúp của bạn. Tôi đã cố gắng tìm kiếm các câu hỏi tương tự nhưng không thể tìm ra giải pháp cho vấn đề mà tôi đang gặp phải.
1 Nếu nó hoạt động với bàn điều khiển chứ không phải với ứng dụng web asp, điều này nghe có vẻ giống như vấn đề bảo mật. 2 Bạn cũng đã kiểm tra xem phiên bản .net có đúng không? Hãy thử chạy hồ bơi ứng dụng của bạn trên IIS với .net 2.0 (Tôi đã có vấn đề này ngày hôm nay). – gartenabfall
Tôi đang sử dụng phiên bản dotnet 4.0. vâng, có vẻ như mã thông báo xác thực không được chuyển tiếp .... – PSL
IIS có chạy dưới cùng một đặc quyền người dùng như dấu nhắc lệnh của bạn không? – Powerslave