Windows Server restart / shutdown history

87

Bagaimana saya dapat dengan mudah melihat riwayat setiap kali Server Windows saya telah restart atau shutdown dan alasan mengapa, termasuk yang diprakarsai oleh pengguna, yang diprakarsai oleh sistem, dan sistem macet?

Windows Event Log adalah jawaban yang jelas tetapi apa daftar lengkap acara yang harus saya lihat?

Saya menemukan posting ini yang sebagian menjawab pertanyaan saya:

tetapi itu tidak mencakup setiap skenario AFAIK dan info ini sulit dipahami karena tersebar di beberapa jawaban.

Saya memiliki beberapa versi Windows Server sehingga solusi yang berfungsi untuk setidaknya versi 2008, 2008 R2, 2012, dan 2012 R2 akan ideal.

JohnC
sumber
1
Dalam beberapa situasi, TurnedOnTimesView Nirsoft mungkin cukup baik. ( nirsoft.net/utils/computer_turned_on_times.html ) ini menunjukkan waktu reboot dan shutdown.
Peter Hahndorf
Apakah Anda menggunakan alat pemantauan eksternal, .eg, opsview, nagios, icinga, shinken? Alat-alat ini menyimpan hasil pemantauan dalam database dan kemudian Anda dapat memeriksa apakah server dimulai kembali dan kapan,
030

Jawaban:

100

Jawaban paling jelas yang bisa saya temukan adalah:

yang mencantumkan id acara ini untuk dipantau (dikutip tetapi diedit dan diformat ulang dari artikel):

  • ID Peristiwa 6005 ( alternatif ): "Layanan log aktivitas dimulai." Ini identik dengan startup sistem.
  • ID Peristiwa 6006 ( alternatif ): "Layanan log aktivitas dihentikan." Ini identik dengan pematian sistem.
  • ID Peristiwa 6008 ( alternatif ): "Pematian sistem sebelumnya tidak terduga." Catatan bahwa sistem dimulai setelah tidak dimatikan dengan benar.
  • ID Peristiwa 6009 ( alternatif ): Menunjukkan nama produk Windows, versi, nomor build, nomor paket layanan, dan jenis sistem operasi yang terdeteksi pada saat boot.
  • ID Peristiwa 6013: Menampilkan waktu aktif komputer. Tidak ada halaman TechNet untuk id ini.

Tambahkan ke pasangan itu lebih banyak dari jawaban Server Fault yang terdaftar di OP saya:

  • ID Peristiwa 1074 ( alternatif ): "Proses X telah memulai restart / shutdown komputer atas nama pengguna Y karena alasan berikut: Z." Menunjukkan bahwa aplikasi atau pengguna memulai restart atau shutdown.
  • ID Peristiwa 1076 ( alternatif ): "Alasan yang diberikan oleh pengguna X untuk pematian terakhir yang tidak terduga dari komputer ini adalah: Y." Merekam ketika pengguna pertama dengan hak istimewa shutdown masuk ke komputer setelah restart atau shutdown yang tidak terduga dan menyediakan alasan terjadinya.

Apakah saya melewatkan sesuatu?

JohnC
sumber
3
Untuk membedakan antara kehilangan daya dan reboot karena bugcheck, cari kombinasi Event ID 41 (sumber: Microsoft-Windows-Kernel-Power) dan Event ID 1001: (sumber: BugCheck). Mantan tanpa yang terakhir menunjukkan kehilangan daya atau reset.
sendmoreinfo
4
Ini sangat membantu. Terima kasih johnC. Di bidang input ID Peristiwa Termasuk / Tidak Termasuk dalam jendela Filter Log Saat Ini, saya memasukkan "6005, 6006, 6008, 6009, 6013, 1074, 1076" dan itu memberi saya apa yang saya butuhkan.
joey
1
Anda mungkin harus menambahkan Kernel-Generaldengan EventID12 , yang biasanya EventID pertama yang dicatat setelah reboot / reset dll dan menunjukkan "waktu mulai sistem" yang sebenarnya, yaitu: "Sistem operasi dimulai pada waktu sistem 2017 - 09 - 19T02: 46: 06.582794900Z. "
Abel
Tautan dalam jawaban ini rusak
Tim Schmelter
1
Saya mencari tetapi gagal menemukan dokumen Microsoft saat ini pada kode log peristiwa, jadi saya membuat masalah di Microsoft Documents github untuk mengumpulkan saran / konsensus tentang di mana untuk menghidupkan kembali konten ini di rezim MS docs baru, github.com/MicrosoftDocs/windowsserverdocs/issues / 444 . @ tim-schmelter tolong angkat dan tambahkan pemikiran Anda.
JohnC
4

Saya hanya akan meninggalkan ini sebagai komentar karena JohnC pada dasarnya telah mencakup segalanya, tetapi saya belum diizinkan untuk melakukannya.

Peristiwa yang ia gambarkan telah digunakan cukup lama, sehingga mereka akan bekerja untuk OS yang Anda sebutkan, serta saudara-saudara desktop mereka. Halaman ID acara yang ditautkannya, seperti yang untuk 6006 di TechNet, menyebutkan Windows Server 2003.

Jika ada shutdown yang elegan, pengguna memulai atau sebaliknya, Anda juga harus melihat beberapa ID Peristiwa 7036 yang memberi tahu Anda bahwa berbagai layanan "memasuki kondisi berhenti." Saat mesin dinyalakan kembali, Anda akan melihat lebih banyak 7036 yang mengumumkan bahwa layanan memasuki status pengoperasian.

JTL
sumber
2
Anda juga akan melihat blok besar ID peristiwa 7036 jika layanan berulang kali menyatakan negara, jadi itu bukan cara terbaik untuk mencari memulai kembali. Anda harus mencari acara yang dijelaskan oleh JohnC, pertama.
JTL
3

Membangun jawaban @JohnC dan memperluasnya

Anda dapat menggunakan filter XML seperti:

<QueryList>
<Query Id="0" Path="System">
<Select Path="Security">*[System[Provider[@Name='eventlog' or @Name='Microsoft-Windows-Eventlog'] and (EventID=1074 or EventID=1076 or EventID=6005 or EventID=6006 or EventID=6008) and TimeCreated[timediff(@SystemTime) &lt;= 172800000]]]</Select>
<Select Path="Setup">*[System[Provider[@Name='eventlog' or @Name='Microsoft-Windows-Eventlog'] and (EventID=1074 or EventID=1076 or EventID=6005 or EventID=6006 or EventID=6008) and TimeCreated[timediff(@SystemTime) &lt;= 172800000]]]</Select>
<Select Path="System">*[System[Provider[@Name='eventlog' or @Name='Microsoft-Windows-Eventlog'] and (EventID=1074 or EventID=1076 or EventID=6005 or EventID=6006 or EventID=6008) and TimeCreated[timediff(@SystemTime) &lt;= 172800000]]]</Select>
<Select Path="Microsoft-Windows-Kernel-Power/Diagnostic">*[System[Provider[@Name='Microsoft-Windows-Kernel-Power'] and (Level=1 ) and TimeCreated[timediff(@SystemTime) &lt;= 172800000]]]</Select>
<Select Path="Microsoft-Windows-Kernel-Power/Thermal-Diagnostic">*[System[Provider[@Name='Microsoft-Windows-Kernel-Power'] and (Level=1 ) and TimeCreated[timediff(@SystemTime) &lt;= 172800000]]]</Select>
<Select Path="System">*[System[Provider[@Name='Microsoft-Windows-Kernel-Power'] and (Level=1 ) and TimeCreated[timediff(@SystemTime) &lt;= 172800000]]]</Select>
<Select Path="System">*[System[Provider[@Name='User32'] and TimeCreated[timediff(@SystemTime) &lt;= 172800000]]]</Select>
<Select Path="System">*[System[Provider[@Name='Microsoft-Windows-WER-SystemErrorReporting'] and TimeCreated[timediff(@SystemTime) &lt;= 172800000]]]</Select>
</Query>
</QueryList>

Anda dapat mengganti 172800000 dengan nilai di bawah ini untuk rentang waktu:

86400000 - 24 jam terakhir

172800000 - 2 Hari Terakhir

604800000 - 7 Hari Terakhir

Ini akan menunjukkan lebih banyak detail dari waktu ketika server / pc menjadi offline Ini termasuk peristiwa Kernel-Power, User32 dan EventLog.

elemer82
sumber
2

Saya lebih suka menyelesaikan aktivitas dari command line. Inilah awal cuplikan yang dapat Anda manfaatkan. Ini menunjukkan 30.000 catatan sistem terbaru dan mengembalikan reboot dalam catatan tersebut.

Get-EventLog -LogName System -Newest 30000 | Where-Object {$_.EventID -eq 6005}
Rakaim
sumber