This example shows how to start/stop remote Windows Service from client machine using C# application.

First, create a Windows application and put 4 label controls for displaying service name and status of the service.

On the button click event, we need to write the following lines of code.

  1. private void btnStartStop_Click(object sender, EventArgs e) {
  2. try {
  3. string serviceName = "ServiceName";
  4. string IP = "xxx.xxx.x.xx"; // remote IP
  5. string username = "username"; // remote username
  6. string password = "password"; // remote password
  7. ConnectionOptions connectoptions = new ConnectionOptions();
  8. connectoptions.Username = username;
  9. connectoptions.Password = password;
  10. ManagementScope scope = new ManagementScope("\\\\xxx.xxx.x.xx\\root\\Machine Name");
  11. scope.Options = connectoptions;
  12. //WMI query to be executed on the remote machine
  13. SelectQuery query = new SelectQuery("select * from Win32_Service where name = '" + serviceName + "'");
  14. using(ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query)) {
  15. ManagementObjectCollection collection = searcher.Get();
  16. foreach(ManagementObject service in collection.OfType < ManagementObject > ()) {
  17. if (service["started"].Equals(true)) {
  18. //Start the service
  19. service.InvokeMethod("StopService", null);
  20. btnStartStop.Text = "Start";
  21. lblServiceName.Text = serviceName;
  22. lblServiceStatus.Text = "Stopped";
  23. } else {
  24. //Stop the service
  25. service.InvokeMethod("StartService", null);
  26. btnStartStop.Text = "Stop";
  27. lblServiceName.Text = serviceName;
  28. lblServiceStatus.Text = "Running";
  29. }
  30. }
  31. }
  32. } catch (NullReferenceException) {
  33. throw;
  34. }
  35. } // This is just a sample script. Paste your real code (javascript or HTML) here.
  36. if ('this_is' == /an_example/) {
  37. of_beautifier();
  38. } else {
  39. var a = b ? (c % d) : e[f];
  40. }