Rebooting a Remote Server using WMI

Windows Management Instrumentation or WMI holds many surprises and features but when my colleagues machine rebooted even I was surprised. Using WMI allows you to create management type applications and of course being able to reboot a remote computer is a necessary feature. Of course it requires you have an admin logon account to the machine.

In this code written with Beta 2 you will need to change the username, password and ip address to access your own machines.

While WMI is a great feature it may be exposed as a security risk. If you have no intention of using its features on your network you may want to disable it. Enjoy..

//Demonstrates how to remotely reboot a computer on the network
//Written 02/01/02 By John O'Donnell -
using System;
using System.Management;
namespace WMI3
/// <summary>
/// Summary description for Class1.
/// </summary>
class Class1
static void Main(string[] args)
Console.WriteLine("Computer details retrieved using Windows Management Instrumentation (WMI)");
Console.WriteLine("Written 02/01/02 By John O'Donnell -");
//Connect to the remote computer
ConnectionOptions co = new ConnectionOptions();
co.Username = "john";
co.Password = "john";
System.Management.ManagementScope ms = new System.Management.ManagementScope("\\\\\\root\\cimv2", co);
//Query remote computer across the connection
System.Management.ObjectQuery oq = new System.Management.ObjectQuery("SELECT * FROM Win32_OperatingSystem");
ManagementObjectSearcher query1 = new ManagementObjectSearcher(ms,oq);
ManagementObjectCollection queryCollection1 = query1.Get();
foreach( ManagementObject mo in queryCollection1 )
string[] ss={""};