有什么方法可以看看上次重启是如何执行的?

时间:2015-07-29 14:35:06

标签: c# windows wmi wmi-query

我正在尝试使用ManagementObjectSearcher从我的系统中获取一些信息。我设法使用此代码获取上次重启时间:

private String getLastRebootTime()
    {
        DateTime bootTime = new DateTime();
        ManagementObjectSearcher mos1 = new System.Management.ManagementObjectSearcher(@"\\.\root\CIMV2", "SELECT LastBootUpTime FROM Win32_OperatingSystem WHERE Primary='true'");
        foreach (ManagementObject mo in mos1.Get())
        {
            bootTime =
            ManagementDateTimeConverter.ToDateTime(mo.Properties["LastBootUpTime"].Value.ToString());
        }
        return bootTime.ToString();
    }

我现在想知道是否有可能获得有关上次重启的执行方式的信息。例如,如果是手动重启或脏重启。

1 个答案:

答案 0 :(得分:1)

检查this answer及其有关如何搜索日志的注释。他们正在寻找最后一个时间戳,但评论似乎也提供了你需要的解决方案。

我认为你在寻找:

Log = "System"
Source = "EventLog"
Filter EventLogEntry for EventID == 6008