Execute a process in a remote machine using WMI
you are not opening a process with that code but you are enumerating all the running process named "iexplore.exe"
and close them.
I think an easier, better way is to use SysInternals PsExec or the Task Scheduler API
If you want to use WMI your code should look like this:
object theProcessToRun = { "YourFileHere" };
ManagementClass theClass = new ManagementClass(@"\\server\root\cimv2:Win32_Process");
theClass.InvokeMethod("Create", theProcessToRun);
----------In reply to your comment------------------
First of all you need to change your attitude and approach to coding and read the code that your are copy/pasting.
Then you should study a little more about programming languages.
No I will not write the code for you. I gave you an hint to point to the right direction. now it is your turn to develop it. Have fun!!
user1860934
Updated on June 04, 2022Comments
-
user1860934 almost 2 years
I want to open process pon remote machine, this remote machine is inside local network. I try this command and in the remote machine nothing happen, this user that i connect with have administrators rights. Both machines running
Windows 7
static void Main(string[] args) { try { //Assign the name of the process you want to kill on the remote machine string processName = "notepad.exe"; //Assign the user name and password of the account to ConnectionOptions object //which have administrative privilege on the remote machine. ConnectionOptions connectoptions = new ConnectionOptions(); connectoptions.Username = @"MyDomain\MyUser"; connectoptions.Password = "12345678"; //IP Address of the remote machine string ipAddress = "192.168.0.100"; ManagementScope scope = new ManagementScope(@"\\" + ipAddress + @"\root\cimv2", connectoptions); //Define the WMI query to be executed on the remote machine SelectQuery query = new SelectQuery("select * from Win32_process where name = '" + processName + "'"); object[] methodArgs = { "notepad.exe", null, null, 0 }; using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query)) { foreach (ManagementObject process in searcher.Get()) { //process.InvokeMethod("Terminate", null); process.InvokeMethod("Create", methodArgs); } } Console.ReadLine(); } catch (Exception ex) { //Log exception in exception log. //Logger.WriteEntry(ex.StackTrace); Console.WriteLine(ex.StackTrace); } }
-
user1860934 over 10 yearsWhat i need to change (i am a new developer...) ?
-
user1860934 over 10 yearsSee my update, it still not working, am i doing something wrong ?
-
giammin over 10 years@user1860934 what does a foreach mean in coding? what the SelectQuery is doing??
-
user1860934 over 10 yearsGo over all processes