Я пытаюсь запустить несколько команд на удаленном компьютере с помощью Win32_Process
, но я не могу заставить его работать.Не удается выполнить удаленный процесс
Это то, что я пытался первым:
var processClass = new ManagementClass(@"\\server.domain.co.uk\root\cimv2:Win32_Process");
var inParams = processClass.GetMethodParameters("Create");
inParams["CommandLine"] = @"echo. 2>C:\users\user.name\desktop\EmptyFile.txt";
inParams["CurrentDirectory"] = @"C:\windows\system32";
var outParams = processClass.InvokeMethod("Create", inParams, null);
Но ничего не происходит. Я также попытался запустить это локально на root\cimv2:Win32_Process
, но снова не было никакого эффекта. Я смог заставить его работать локально при вызове notepad.exe
вместо командной строки, но это не работает на удаленном компьютере.
Как я могу решить, что с этим не получается?
В outParams
, который является System.Management.ManagementBaseObject
, я могу видеть, что ClassPath
содержит значение Evaluation timed out
- это могло быть ключ к пониманию того, почему он не работает?