使用C#

时间:2017-10-30 20:30:35

标签: c# server status

我想知道是否可以使用C#判断远程服务器是启动还是关闭?首先,我有一种关闭服务器的方法:

private static void RestartSecondServer()
{
    Console.WriteLine("Computer details retrieved using Windows Management Instrumentation (WMI)");
    //Connect to the remote computer
    ConnectionOptions co = new ConnectionOptions();
    co.Username = @"***********";
    co.Password = "*********";
    ManagementScope ms = new ManagementScope("\\\\******\\root\\cimv2", co);

    //Query remote computer across the connection
    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 = {""};
        mo.InvokeMethod("Reboot", ss);
        Console.WriteLine(mo.ToString());
        Console.WriteLine("Reboot complete");
        //Process.Start("shutdown", "/r /t 0");
    }
}

现在我想创建一个方法来查看正在重启的远程服务器是否已关闭。我尝试了一个generic pinging method,但它恢复了真/成功。

如果服务器正在重启,是否可以成功ping通?是否可以判断服务器是否正在重启?

0 个答案:

没有答案