Psexec работает в командной строке, но не в ASP - PullRequest
0 голосов
/ 24 января 2019

Я использую PsExec для удаленного запуска программы.Я могу запустить программу (не отображается здесь) или cmd.exe удаленно без каких-либо проблем из командной строки.Когда я пытаюсь запустить его из ASP и C #, он не вызовет командную строку, хотя я использую ту же самую строку.Вот строка, которую я использую, которая работает каждый раз, и код, который не работает.Помогите пожалуйста!

Рабочая строка: C:\psexec \\10.0.0.25 -u Administrator -p password -d -i cmd.exe

Неработающий код:

            ProcessStartInfo psi = new ProcessStartInfo(@"C:\PsExec.exe")
            {
                UseShellExecute = false,
                RedirectStandardOutput = true,
                RedirectStandardError = true,
                RedirectStandardInput = true,
                Arguments = @"\\10.0.0.25 -u Administrator -p password -d -i cmd.exe"
            };
            process.StartInfo = psi;
            var success = process.Start();

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Один из вариантов, если у вас есть контроль над машиной, - настроить команду psexec в качестве задания планировщика заданий, а затем выполнить задание планировщика заданий из приложения ASP. Вы можете настроить планировщик задач на запуск от имени администратора, и при запуске работы он будет запускаться с такими учетными данными. Тем не менее, вы не получите никакого вывода, поэтому, если это проблема, то, возможно, не будет хорошего выбора.

См. Как запустить существующую задачу Windows 7 с помощью командной строки для примера запуска задачи.

0 голосов
/ 24 января 2019

Я давно был системным администратором, но, если я правильно помню, psexec должен запускаться из командной строки администратора.Может быть, учетная запись, под которой работает ваше приложение, не имеет прав для доступа по сети и выполнения каких-либо действий на удаленной машине?

Временно введите это в Page_Load:

Response.Write(Environment.UserName);

и запустите его снова, он должен показать вам имя, которое вы ищете в верхней части вашего приложения.

...