我正在尝试使用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();
}
我现在想知道是否有可能获得有关上次重启的执行方式的信息。例如,如果是手动重启或脏重启。
答案 0 :(得分:1)
检查this answer及其有关如何搜索日志的注释。他们正在寻找最后一个时间戳,但评论似乎也提供了你需要的解决方案。
我认为你在寻找:
Log = "System"
Source = "EventLog"
Filter EventLogEntry for EventID == 6008