وقت التشغيل في ويندوز هو قياس يستخدمه العديد من مسؤولي الخوادم لتحديد المشاكل اليومية التي قد تنشأ في البيئة. في هذا المقال، ستتعلم كيفية التحقق من وقت الإقلاع في ويندوز 10 وويندوز سيرفر. أنت حر في استخدام أي طريقة تجدها أسهل بالنسبة لك. استخدم هذا المقال كمرجع مستقبلي.
سيتم تقسيم المقال إلى جزئين رئيسيين؛ التحقق من وقت التشغيل للخادم والعثور على وقت تشغيل ويندوز التاريخي. سيتم التركيز في الجزء الأول على العثور على مقدار الوقت الذي كان فيه الكمبيوتر مشغولًا منذ إعادة التشغيل الأخيرة. يُطلق عليه “وقت التشغيل الحالي” في هذا المقال.
الجزء الثاني من المقال سيتم التركيز فيه على العثور على “وقت التشغيل التاريخي”، مما يعني إعادة التشغيل ومدى مدة تشغيل نظام ويندوز بين عدة إعادات تشغيل. باستخدام PowerShell، ستتعلم كيفية تحليل سجل الأحداث في ويندوز لاستخراج أرقام وقت التشغيل التاريخي.
كيفية التحقق من وقت الإقلاع في ويندوز 10 وويندوز سيرفر
للبدء، دعنا ننتقل الآن إلى عدة طرق مختلفة للعثور على وقت تشغيل ويندوز الحالي.
سوف تشاهد عرضًا توضيحيًا لكيفية التحقق من وقت الإقلاع في ويندوز 10 عن طريق تشغيل الأوامر محليًا على نظام ويندوز خلال هذا القسم. ولكن عليك أن تعلم أنه باستخدام التحكم عن بُعد باستخدام PowerShell، يمكنك أيضًا القيام بتلك الفحوصات عن بُعد (باستثناء مدير المهام).
مدير المهام
واحدة من أبسط وأسهل الطرق للعثور على وقت التشغيل هو فتح مدير المهام ببساطة.
للتحقق من وقت تشغيل Windows باستخدام إدارة المهام، انقر بزر الماوس الأيمن على شريط المهام في Windows واختر إدارة المهام أو اضغط Ctrl–Shift–Esc. بمجرد فتح إدارة المهام، انقر على علامة الأداء. تحت علامة الأداء، سترى تسمية وقت التشغيل.

عارض الأحداث
يستخدم عارض الأحداث على نطاق واسع من قبل معظم مسؤولي النظام بشكل منتظم، مما يجعله خيارًا رائعًا للحصول على وقت التشغيل بطريقة غير مرتبطة بسطر الأوامر. يمكن استخدام معرف الحدث 6005 و 6006 لتحديد متى يبدأ أو يتوقف خدمة سجل الأحداث، والتي تحدث خلال أوقات التشغيل/إيقاف التشغيل. اتبع هذه الخطوات لتحديد وقت التشغيل عبر عارض الأحداث:
- افتح قائمة “ابدأ” وابحث ببساطة عن عارض الأحداث، يمكنك أيضًا الوصول إليه عبر إدارة الكمبيوتر.
- في الجانب الأيسر، قم بتوسيع قسم سجلات Windows وحدد النظام
- الآن بما أننا نستعلم فقط عن أحداث ذات صلة بالنظام، انقر فوق “تصفية السجل الحالي…” على الجانب الأيمن من النافذة الخاصة بك
- في حقل معرف الحدث (بشكل افتراضي سيتم ملء هذا الحقل بنص يشير إلى “جميع معرفات الأحداث”) نحتاج إلى البحث عن معرفات الأحداث المناسبة، اكتب “6005، 6006” ثم انقر على موافق
ثم يمكنك مقارنة الوقتين لإنشاء وقت التشغيل الإجمالي. كما أنه بما أن العديد من حالات هذه الأحداث مخزنة، يمكننا استعلام تاريخ أوقات التشغيل!
الآن لديك سجلات أحداث مصفاة ستظهر لك ليس فقط آخر وقت ولكن جميع الأوقات المعروفة التي تم فيها تشغيل/إيقاف التشغيل.
PowerShell
PowerShell لديها بعض الطرق المختلفة التي يمكنك من خلالها الحصول على وقت التشغيل. يمكنك إما استعلام WMI أو استخدام سجل الأحداث في Windows.
عند استعلام WMI، يمكنك استعلام الفئة Win32_OperatingSystem وتحديد خاصية LastBootUpTime
كما هو موضح أدناه.
للاستعلام عن سجل الأحداث عبر PowerShell، استخدم cmdlet Get-WinEvent
. ستحتاج إلى البحث عن معرفات الحدث 6005 أو 6006 التي تشير إلى آخر مرة تم فيها تشغيل الجهاز.
WMIC يوفر واجهة سطر الأوامر لـ WMI وهو طريقة مجربة وصحيحة تم استخدامها لسنوات عديدة. للاستعلام عن وقت التشغيل عبر WMIC، يمكنك استعلام فئة Win32_OperatingSystem مرة أخرى على الرغم من أنها تكون مخفية قليلاً. يمكنك رؤية أدناه كيف يمكنك استخدام بنية WMIC os get lastbootuptime
لإرجاع آخر مرة تم فيها تشغيل الخادم.
لا تحتاج إلى تنزيل أي شيء للاستفادة من WMIC، حيث يأتي مثبتًا مسبقًا مع Windows.
أداة معلومات النظام يعرض أمر systeminfo معلومات تكوين مفصلة حول الكمبيوتر ويمكن استخدامه للاستعلام عن وقت تشغيل النظام. من خلال استخدام أداة سطر الأوامر المدمجة find يمكنك تحليل النص لاسترجاع البيانات التي تحتاجها.
فقط افتح سطر الأوامر أو PowerShell واكتب systeminfo | find
.
ليس عليك تنزيل أي شيء للاستفادة من systeminfo
، حيث يأتي مثبتًا مسبقًا مع Windows.
أمر Net Statistics
يمكنك أيضًا استعلام سريع عن وقت التشغيل عبر Net Statistics، المعروف أكثر بـ net stats
. يُعيد أمر net stats
معلومات عامة حول جلستك. يمكنك أن ترى أدناه الخط الإحصائيات منذ…. تُشير هذه التاريخ إلى متى تم تشغيل الجهاز.
أمر Uptime
إذا كنت بحاجة إلى أداة صغيرة وقابلة للحمل للعثور على وقت التشغيل في Windows، فلا تبحث أكثر من تطبيق Uptime من NeoSmart Technologies. هذه الأداة مثالية للاستعلام بسرعة عن وقت التشغيل في أي إصدار من إصدارات Windows. الفائدة الرئيسية لهذه الأداة هي عامل الراحة. إذا وجدت نفسك تستخدمها مرارًا وتكرارًا في اليوم، قد ترغب في النظر في هذه الطريقة.
بعد تنزيل الأداة، استخرج uptime.exe إلى %WinDir%\System32. ثم افتح نافذة الأوامر واكتب ببساطة uptime
.

لتشغيل هذه الأداة عن بُعد، ستحتاج أولاً إلى نسخ الأداة إلى أنظمة Windows التي تُفحص وقت التشغيل عليها.
تقديم نص البرنامج Get-ServerUptimeReport
حتى لا تحتاج إلى كتابة السيناريو بنفسك، قم بتنزيل سيناريو المجتمع المسمى Get-ServerUptimeReport.ps1.
هذا النص يسمح لك بتوفير اسم الحاسوب كمعلمة. سيقوم بتحليل سجل الأحداث System للحاسوب والعثور على حدث بداية وحدث نهاية لمقارنتهما. سيقوم بعد ذلك بإرجاع الوقت الإجمالي الذي كانت فيه الخادم متصلاً حتى يتم لف سجل الأحداث.
أدناه مثال على استخدام هذا النص على خادم. سيعيد الوقت الإجمالي لكل الأحداث التي يحتوي عليها سجل الأحداث للخادم، بما في ذلك الوقت الحالي.
العثور على وقت التشغيل في نظام ويندوز عبر العديد من الخوادم
هذا النص هو وسيلة سريعة للعثور على وقت التشغيل لخادم واحد عبر عدة أيام. ولكن ماذا لو كنت بحاجة إلى هذه المعلومات للعديد من الخوادم في نفس الوقت؟ يمكنك القيام بذلك عن طريق جمع قائمة من الخوادم ومن ثم تمرير اسم كل حاسوب، واحدًا تلو الآخر، إلى هذا النص.
كمثال، قم بتعريف جميع الخوادم الخاصة بك في مصفوفة في وحدة التحكم PowerShell. في هذا المثال، سيتم تسمية المتغير المصفوفة $servers
.
في الواقع، قد تقوم بسحب أسماء الخوادم من Active Directory أو Hyper-V أو ملف نصي. طالما يمكنك بناء مصفوفة من أسماء الخوادم، فأنت بخير.
قم بتعريف جميع أسماء الخوادم ثم كرر كل واحد منها باستخدام حلقة، كما هو موضح أدناه.
هذا الكود يعمل، لكن لا يمكنك تحديد أي خادم يشير كل صف إليه. أضف اسم الخادم إلى الإخراج مثلما هو موضح أدناه باستخدام خاصية محسوبة.
لدينا الآن أداة صغيرة ممتازة يمكنها توفير تقرير سريع حول وقت التشغيل لخوادمنا مع مرور الوقت!
الملخص
أنتم الآن رأيتم العديد من الطرق المختلفة للعثور على وقت التشغيل في نظام Windows. بغض النظر عن الخيار الذي تختارونه، ستتلقون نفس المعلومات. اختاروا الخيار الأفضل لسياقكم الخاص.
وتذكروا إذا كنتم بحاجة إلى تقرير تاريخي حول وقت التشغيل، فلا تنسوا النظر في سكريبت PowerShell Get-ServerUptimeReport
!