Я пытаюсь убить процесс на удаленной машине. Но я получаю ошибку. Что я делаю не так и как мне заставить это работать?
Мой код:
var iu = new ImpersonateUser();
try
{
iu.Impersonate(Domain, _userName, _pass);
foreach (var process in Process.GetProcessesByName("notepad", "RemoteMachine"))
{
string processPath = pathToExe; //Is set as constant (and is correct)
process.Kill();
Thread.Sleep(3000);
Process.Start(processPath);
}
}
catch (Exception ex)
{
lblStatus.Text = ex.ToString();
}
finally
{
iu.Undo();
}
Чтобы прояснить ImpersonateUser, он заставляет меня входить на удаленный компьютер с правильными правами пользователя. Так что проблема не в этом. Когда я отлаживаю и проверяю объект процесса, в этом случае я нахожу правильный идентификатор процесса для блокнота. Так что связь работает нормально. Но когда я пытаюсь убить процесс, я получаю такую ошибку:
System.NotSupportedException: Feature is not supported for remote machines. at System.Diagnostics.Process.EnsureState
Process.Kill
: Вы пытаетесь вызвать Kill для процесса, запущенного на удаленном компьютере. Метод доступен только для процессов, запущенных на локальном компьютере. - person JoelC   schedule 24.01.2017