في عالم إدارة أنظمة التشغيل، تعتبر خدمات الويندوز (Windows Services) بمثابة المحرك الخفي الذي يبقي النظام بأكمله قيد العمل. هذه الخدمات عبارة عن برامج وتطبيقات قابلة للتنفيذ (Executable Applications) تعمل في الخلفية دون الحاجة إلى واجهة مستخدم رسومية (GUI). تبدأ هذه الخدمات بالعمل بمجرد إقلاع نظام التشغيل، وتتحكم في وظائف حيوية مثل إدارة الشبكات، تحديثات النظام، جدار الحماية، وحتى عمليات الطباعة.
بالنسبة لمسؤولي الأنظمة (IT Administrators) والمستخدمين المتقدمين، لا تقتصر المعرفة على تشغيل أو إيقاف هذه الخدمات فحسب، بل تمتد إلى عمليات التدقيق والمراقبة. وهنا تبرز الحاجة الملحة إلى تصدير بيانات خدمات الويندوز بشكل دوري. سواء كنت تبحث عن برمجيات خبيثة تحاول التخفي كخدمة نظام، أو تحاول تحسين أداء جهازك (System Optimization) عن طريق إيقاف الخدمات غير الضرورية، فإن استخراج قائمة واضحة ومقروءة يعتبر الخطوة الأولى والأهم.
لماذا لا نعتمد على واجهة Services.msc التقليدية؟
وفرت شركة مايكروسوفت واجهة رسومية لإدارة الخدمات يمكن الوصول إليها عن طريق كتابة Services.msc في نافذة الأوامر (Run). تتيح لك هذه الواجهة تصدير قائمة بكافة الخدمات، لكنها تعاني من قصور تقني جوهري؛ وهو انعدام القدرة على الفلترة الدقيقة. باستخدام الأداة الرسومية، لا يمكنك استخراج الخدمات العاملة (Running Services) فقط أو الخدمات المتوقفة (Stopped Services) فقط. بدلاً من ذلك، تقوم الواجهة بتصدير كل شيء دفعة واحدة، مما يجعل تحليل البيانات مهمة فوضوية.
لتجاوز هذا القصور، نلجأ إلى بيئات سطر الأوامر (Command-Line Interfaces) القوية جداً والمدمجة في النظام، وهي PowerShell و Command Prompt (CMD). تتيح لنا هذه الأدوات استخدام فلاتر دقيقة وتصدير النتائج إلى ملفات نصية (Text) أو جداول بيانات (CSV) يسهل تحليلها.
الطريقة الأولى: التصدير باستخدام بيئة PowerShell (الخيار الأقوى)
بيئة PowerShell هي أداة إدارة وأتمتة متقدمة تعتمد على إطار عمل (.NET). تعتبر هذه البيئة الخيار المفضل للمحترفين بفضل قدرتها على التعامل مع الكائنات (Objects) بدلاً من مجرد النصوص. للبدء، اضغط على مفتاحي Win + R، ثم اكتب powershell واضغط Enter لفتح النافذة الزرقاء.
1. تصدير كافة خدمات النظام (All Services)
إذا كان هدفك هو عمل جرد شامل (Comprehensive Audit) لجميع الخدمات المسجلة في جهازك، بغض النظر عن حالتها الحالية، يمكنك استخدام الأوامر التالية. سيقوم الأمر الأول بتصدير البيانات في ملف نصي عادي، بينما يقوم الأمر الثاني بتصديرها بصيغة جدولية.
لتصدير جميع الخدمات إلى ملف Text (.txt):
Get-Service | Select StartType, Status, Name, DisplayName | Format-Table -AutoSize | Out-File -filepath "$Env:userprofile\Desktop\All_Services.txt"لتصدير جميع الخدمات إلى ملف CSV (.csv):
Get-Service | Select StartType, Status, Name, DisplayName | Export-Csv -path "$Env:userprofile\Desktop\All_Services.csv"لعرض القائمة مباشرة في شاشة PowerShell بدون تصدير:
Get-Service | Select StartType, Status, Name, DisplayName | Format-Table -AutoSize2. تصدير الخدمات العاملة (Running Services) فقط
في أغلب عمليات استكشاف أخطاء النظام، يكون تركيزنا منصباً على الخدمات التي تستهلك الذاكرة والمعالج في الوقت الفعلي. باستخدام معامل التصفية Where-Object، يمكننا استخراج الخدمات ذات الحالة "Running" حصراً.
استخراج الخدمات العاملة كملف Text:
Get-Service | Select StartType, Status, Name, DisplayName | Where-Object {$_.Status -eq 'Running'} | Format-Table -AutoSize | Out-File -filepath "$Env:userprofile\Desktop\Running_Services.txt"استخراج الخدمات العاملة كملف بيانات CSV:
Get-Service | Select StartType, Status, Name, DisplayName | Where-Object {$_.Status -eq 'Running'} | Export-Csv -path "$Env:userprofile\Desktop\Running_Services.csv"العرض المباشر للخدمات العاملة في النافذة:
Get-Service | Select StartType, Status, Name, DisplayName | Where-Object {$_.Status -eq 'Running'} | Format-Table -AutoSize3. تصدير الخدمات المتوقفة (Stopped Services) فقط
قد تتعطل بعض التطبيقات بسبب توقف خدمة معينة عن العمل بشكل مفاجئ. لمعرفة ما إذا كانت هناك خدمة ضرورية تحمل حالة الإيقاف، نستخدم هذه الأوامر المفيدة في استكشاف أخطاء الشبكات والبرامج.
للحفظ في ملف نصي (Text):
Get-Service | Select StartType, Status, Name, DisplayName | Where-Object {$_.Status -eq 'Stopped'} | Format-Table -AutoSize | Out-File -filepath "$Env:userprofile\Desktop\Stopped_Services.txt"للحفظ في جدول بيانات (CSV):
Get-Service | Select StartType, Status, Name, DisplayName | Where-Object {$_.Status -eq 'Stopped'} | Export-Csv -path "$Env:userprofile\Desktop\Stopped_Services.csv"العرض المباشر للخدمات المتوقفة:
Get-Service | Select StartType, Status, Name, DisplayName | Where-Object {$_.Status -eq 'Stopped'} | Format-Table -AutoSizeتفكيك الأكواد البرمجية: ماذا تعني هذه الأوامر؟
لضمان فهمك الكامل للعملية البرمجية، دعنا نحلل البنية التحتية لهذه الأوامر بشكل احترافي لتتمكن من تخصيصها لاحقاً حسب حاجتك:
- Get-Service: هو الأمر الأساسي (Cmdlet) المسؤول عن جلب المعلومات الخام لجميع الخدمات المثبتة على الكمبيوتر.
- الأنبوب (Pipe |): يستخدم لنقل مخرجات الأمر الأول وجعلها مدخلات للأمر الذي يليه.
- Select-Object: أو اختصاراً Select، يحدد الأعمدة الدقيقة التي نريد ظهورها، مثل: نوع البدء (StartType)، الحالة (Status)، والاسم (Name).
- Where-Object: الأداة المسؤولة عن تصفية النتائج باستخدام عوامل منطقية مثل
-eq(والتي تعني Equal أو يساوي). - Format-Table -AutoSize: ينسق البيانات في شكل جدول أنيق بمسافات مضبوطة تلقائياً لتجنب تداخل الكلمات.
- Out-File و Export-Csv: أوامر التصدير النهائية التي ترسل النتيجة المنسقة وتخزنها في ملف جديد على مسار سطح المكتب $Env:userprofile\Desktop.
الطريقة الثانية: التصدير باستخدام موجه الأوامر (Command Prompt - CMD)
لا يزال الكثير من محترفي تكنولوجيا المعلومات يفضلون بيئة CMD الكلاسيكية. لكي نقوم بنفس المهام المتقدمة، سنقوم بتمرير أوامر PowerShell من داخل نافذة CMD نفسها. الفرق الوحيد والأهم هنا هو إضافة كلمة PowerShell في بداية السطر، مع إضافة علامة الإقحام (Caret `^`) قبل رمز الأنبوب (`|`) لكي يفهم موجه الأوامر أن الرمز تابع للـ PowerShell وليس للـ CMD.
لفتح موجه الأوامر، اضغط Win + R، واكتب cmd واضغط Enter.
1. تصدير جميع الخدمات عبر CMD
تصدير كملف نصي (TXT):
PowerShell Get-Service ^| Select StartType, Status, Name, DisplayName ^| Format-Table -AutoSize ^| Out-File -filepath "$Env:userprofile\Desktop\All_Services.txt"تصدير كملف إكسيل (CSV):
PowerShell Get-Service ^| Select StartType, Status, Name, DisplayName ^| Export-Csv -path "$Env:userprofile\Desktop\All_Services.csv"العرض المباشر:
PowerShell Get-Service ^| Select StartType, Status, Name, DisplayName^| Format-Table -AutoSize2. استخراج الخدمات العاملة (Running) فقط باستخدام CMD
استخراج البيانات كملف نصي:
PowerShell Get-Service ^| Select StartType, Status, Name, DisplayName ^| Where-Object {$_.Status -eq 'Running'} ^\vert{} Format-Table -AutoSize ^\vert{} Out-File -filepath "$Env:userprofile\Desktop\Running_Services.txt"استخراج البيانات كملف CSV:
PowerShell Get-Service ^| Select StartType, Status, Name, DisplayName ^| Where-Object {$_.Status -eq 'Running'} ^\vert{} Export-Csv -path "$Env:userprofile\Desktop\Running_Services.csv"العرض على الشاشة:
PowerShell Get-Service ^| Select StartType, Status, Name, DisplayName ^| Where-Object {$_.Status -eq 'Running'} ^| Format-Table -AutoSize3. استخراج الخدمات المتوقفة (Stopped) باستخدام CMD
حفظ بملف نصي (TXT):
PowerShell Get-Service ^| Select StartType, Status, Name, DisplayName ^| Where-Object {$_.Status -eq 'Stopped'} ^\vert{} Format-Table -AutoSize ^\vert{} Out-File -filepath "$Env:userprofile\Desktop\Stopped_Services.txt"حفظ بملف منفصل الفواصل (CSV):
PowerShell Get-Service ^| Select StartType, Status, Name, DisplayName ^| Where-Object {$_.Status -eq 'Stopped'} ^\vert{} Export-Csv -path "$Env:userprofile\Desktop\Stopped_Services.csv"العرض المباشر (العرض اللحظي):
PowerShell Get-Service ^| Select StartType, Status, Name, DisplayName ^| Where-Object {$_.Status -eq 'Stopped'} ^| Format-Table -AutoSizeمقارنة بين صيغ التصدير: متى تختار TXT ومتى تختار CSV؟
بمجرد تنفيذ الأوامر، ستظهر الملفات مباشرة على سطح المكتب. ولكن كيف تحدد الصيغة المناسبة لعملك؟
- ملفات النص العادي (TXT): بفضل إضافة أمر Format-Table -AutoSize، يتم ترتيب الأعمدة في الملف النصي بشكل أنيق وواضح جداً للعين البشرية. هذا الخيار مثالي إذا كنت تريد إلقاء نظرة سريعة، أو طباعة القائمة على الورق، أو إرسالها لزميل بشكل غير رسمي.
- ملفات القيم المفصولة بفواصل (CSV - Comma-Separated Values): هي المعيار الذهبي في تحليل البيانات. هذه الملفات مصممة لتُفتح عبر برامج الجداول الحسابية مثل (Microsoft Excel) أو (Google Sheets). عند فتحها في الإكسيل، يمكنك فرز الخدمات أبجدياً (Sorting)، أو تصفيتها، أو مقارنتها آلياً بقائمة أخرى لاكتشاف أي خدمات جديدة قد تكون عبارة عن برامج خبيثة.
اعتبارات أمنية (Security & Privacy) حاسمة
يجب التعامل مع قوائم الخدمات المُصدرة على أنها بيانات حساسة. إن قائمة الخدمات العاملة في جهازك تمثل خريطة هيكلية تفصيلية لإعدادات النظام. إذا وقع هذا الملف في أيدي المخترقين أو قراصنة الإنترنت، يمكنهم بسهولة التعرف على البرامج الأمنية التي تستخدمها (مثل مكافحات الفيروسات)، وتحديد الثغرات المحتملة في الخدمات القديمة.
نصائح ذهبية لحماية بياناتك:
- لا تقم بمشاركة هذه الملفات عبر المنتديات المفتوحة أثناء طلب الدعم الفني دون تشفير أو إخفاء بيانات المستخدم الحساسة.
- بعد الانتهاء من عملية الفحص والتدقيق (IT Audit)، يُفضل حذف الملفات من سطح المكتب، أو نقلها إلى مجلد آمن ومحمي بكلمة مرور.
- قم بتشغيل نافذة PowerShell أو CMD دائماً كمسؤول (Run as Administrator) لضمان استخراج كافة الخدمات بدقة، حيث أن بعض الخدمات المرتبطة بنواة النظام (Kernel) لا تظهر للمستخدم العادي.
إدارة وتصدير خدمات الويندوز (Windows Services) لم تعد مهمة معقدة تقتصر على خبراء التقنية المتقدمين. بفضل قوة بيئات سطر الأوامر مثل PowerShell و CMD، يمكنك استخراج تقارير احترافية ودقيقة تفصل بين الخدمات العاملة والمتوقفة بصيغ نصية أو جدولية، متجاوزاً بذلك القصور المزعج في واجهة الخدمات الرسومية (Services.msc) الافتراضية.








إرسال تعليق
1. نأمل الحفاظ علي الذوق العام وآراء وتعليقات الغير.
2. تجنب استخدام الكلمات البذيئة وتجنب أسلوب الهجوم والتجريح.
3. تذكر، ما يلفظ من قول إلا لديه رقيب عتيد.
4. يجب الالتزام التام بجميع قوانين سياسة الخصوصية.
5. يمكنك نشر رابط صورة أو فيديو ليتم عرضها في التعليق.