كيفية سرد جميع خدمات Windows باستخدام PowerShell أو Command Line

التطبيقات قيد التشغيل التي تراها على شاشتك هي جزء بسيط مما يحدث في Windows . من إدارة برامج تشغيل الأجهزة إلى ضمان الأمان ، تحافظ مجموعة من العمليات في الخلفية على جهاز كمبيوتر يعمل بنظام Windows(Windows) .

بالنسبة لأي مسؤول نظام يشرف على أجهزة كمبيوتر متعددة ، من المهم أن تكون قادرًا على عرض حالة هذه الخدمات الهامة. أسلوب إدارة المهام(Task Manager) بطيء جدًا لذلك ، ولا يمكنك أتمتة ذلك باستخدام برنامج نصي.

الحل؟ أدوات سطر الأوامر. باستخدام موجه الأوامر أو PowerShell(Command Prompt or PowerShell) ، يمكنك قراءة خدمات Microsoft التشغيلية التي تعمل على النظام بسرعة ، مما يساعدك على تشخيص أي مشكلات بسرعة. 

سرد خدمات (Services)Windows في موجه الأوامر(Command Prompt)

على الرغم من أنه ليس مرنًا أو قويًا مثل Windows PowerShell ، إلا أن موجه الأوامر(the Command Prompt) لا يزال أداة ممتازة لمسؤولي النظام. يمكنك استخدام الأمر queryex للحصول على حالة كل من الخدمات النشطة والمعطلة ثم استخدام الأمر Taskkill(use the taskkill command) لإنهاء العمليات المزعجة.

  1. لاستخدام الأمر queryex ، قم بتشغيل موجه (Administrator)الأوامر(Command Prompt) كمسؤول . يمكنك العثور على التطبيق من خلال البحث عن cmd في قائمة البداية.

  1. هناك العديد من الطرق لاستخدام الأمر sc queryex. النوع والحالة(State) هما المعلمتان الأكثر استخدامًا. على سبيل المثال ، أدخل الأمر التالي لعرض جميع  عمليات Windows :

sc queryex type=service state=all

  1. يمكن أن يكون العرض الافتراضي مربكًا بعض الشيء. يمكنك عرض أسماء العمليات فقط لتسهيل تحليل القائمة:

sc queryex type=service state=all | find /i “SERVICE_NAME:”

  1. بشكل افتراضي ، يسرد الأمر جميع العمليات النشطة. للبحث عن العناصر غير النشطة ، قم بتعديل معلمة الحالة:

sc queryex type=service state=inactive

  1. يمكنك أيضًا الاستعلام عن حالة عملية معينة من خلال اسمها. يعد هذا مفيدًا بشكل لا يصدق لمسؤولي النظام ، حيث يمكنهم إعداد ملفات دفعية للتحقق من العديد من العمليات في وقت واحد. هذا مثال:

استعلام sc استعلام DeviceInstall(sc query DeviceInstall)

إدراج خدمات (Services)Windows في PowerShell

من المفترض أن يكون PowerShell(PowerShell) عبارة عن غلاف سطر أوامر مخصص لنظام التشغيل Windows(Windows) الحديث . على هذا النحو ، فإنه يوفر الوصول إلى كل مكون من مكونات نظام التشغيل إلى حد كبير من خلال الأوامر ، وخدمات Windows ليست استثناء.

ميزة PowerShell(PowerShell) هي أنه يمكنك أتمتة ذلك بسهولة. يمكن تجميع جميع أوامر PowerShell في نصوص برمجية معقدة ، مما يسمح لك بإعداد مهام إدارة النظام على أجهزة كمبيوتر متعددة دون متاعب.(PowerShell)

  1. ابدأ(Start) بفتح PowerShell . يمكنك البحث عنه في قائمة ابدأ(Start Menu) ؛ فقط تأكد من تشغيل مثيل مرتفع (أي كمسؤول(Administrator) ).

  1. أبسط أمر لإدراج خدمات Windows على (Windows)PowerShell هو Get-Service . يعرض جميع الخدمات على جهاز الكمبيوتر الخاص بك ، إلى جانب حالتها وأسمائها. المشكلة الوحيدة هي أن قائمة الخدمات يمكن أن تكون طويلة جدًا.

  1. عند استخدام Get-Service ، من الأفضل تصدير القائمة إلى ملف نصي. يمكنك القيام بذلك باستخدام الأنابيب ، مثل هذا:

Get-Service | Out-File “C:\logs\All_Services.txt”

  1. للبحث عن حالة خدمة معينة ، اتبع أمر Get-Service مع اسم الخدمة. يمكنك طلب حالة عمليات متعددة من خلال فصل أسمائهم بفاصلات.

الحصول على خدمة CryptSvc ، COMSysApp(Get-Service CryptSvc, COMSysApp)

  1. يمكن أيضًا استخدام الأنابيب لدمج Get-Service cmdlet مع وظيفة Where-Object وتصفية النتائج حسب الحالة(Status) . يوضح الأمر التالي هذا من خلال الحصول على جميع الخدمات قيد التشغيل(Running) :

Get-Service | Where-Object {$_.Status -EQ “Running”}

التحقق من تبعيات الخدمة

يتم تقسيم أي عملية معقدة إلى خدمات متعددة مترابطة. هذا هو السبب في أن مجرد الحصول على حالة خدمة معينة لا يكفي في كثير من الأحيان. تحتاج أيضًا إلى التحقق من حالة الخدمات التي تعتمد عليها الخدمة.

  1. لعرض الخدمات المطلوبة بواسطة خدمة معينة ، استخدم علامة -RequiredServices مع Get-Service cmdlet. هذا مثال:

Get-Service -Name CryptSvc –RequiredServices

  1. وبالمثل ، للحصول على قائمة بالخدمات التي تعتمد على خدمة معينة ، استفد من علامة -DependentServices .

الحصول على خدمة -اسم CryptSvc -DependentServices(Get-Service -Name CryptSvc -DependentServices)

هاتان العلامتان مهمتان في كتابة البرامج النصية لبدء تشغيل خدمات Windows أو إيقافها تلقائيًا ، حيث توفران لك طريقة لتتبع جميع الخدمات المتصلة بالخدمة المتأثرة.

سرد خدمات (Services)Windows على أجهزة الكمبيوتر البعيدة(Remote)

لا يقتصر أسلوب PowerShell على أجهزة الكمبيوتر المحلية . (PowerShell)يمكنك استخدام Get-Service cmdlet بنفس الصيغة الموضحة أعلاه للاستعلام عن عمليات أجهزة الكمبيوتر البعيدة أيضًا. ما عليك(Just) سوى إلحاق علامة -ComputerName في النهاية لتحديد الكمبيوتر البعيد الذي سيتم استرداد المعلومات منه. 

هذا مثال:

الحصول على خدمة CryptSvc -ComputerName Workstation7(get-service CryptSvc -ComputerName Workstation7)

إدارة خدمات (Services)Windows في PowerShell

إن الحصول على حالة الخدمات ليس هو الشيء الوحيد الذي يمكنك القيام به في Windows PowerShell . كبيئة برمجة نصية كاملة ، فإنه يوفر بدائل نصية لجميع خيارات  واجهة المستخدم الرسومية .(GUI)

يمكن لـ Powershell(Powershell) cmdlets إيقاف الخدمات أو بدء تشغيلها أو إعادة تشغيلها أو حتى تعديلها. إلى جانب أوامر Get-Service التلقائية ، يمكن كتابة نصوص PowerShell النصية لأتمتة مهام إدارة النظام اليومية بالكامل.(PowerShell)

  1. بالإضافة إلى الاستعلام عن حالة الخدمات ، يمكنك أيضًا استخدام PowerShell لإدارتها. يمكن بدء الخدمات أو إيقافها بأمر واحد لا يتطلب سوى اسم الخدمة. على سبيل المثال ، هذه هي الطريقة التي يمكنك من خلالها إيقاف خدمة:

توقف الخدمة -اسم التخزين المؤقت(Stop-Service -Name Spooler)

  1. يسير بدء الخدمة بالمثل:

بدء الخدمة اسم التخزين المؤقت(Start-Service -Name Spooler)

  1. إذا كانت الخدمة لا تعمل بشكل صحيح ، يمكنك أيضًا اختيار إعادة تشغيلها:

إعادة تشغيل الخدمة -اسم التخزين المؤقت(Restart-Service -Name Spooler)

  1. يوجد أيضًا Set-Service cmdlet التي يمكن استخدامها لتغيير خصائص الخدمة. نقوم هنا بتعطيل بدء التشغيل التلقائي لخدمة Print Spooler :

Set-Service 'Spooler' -StartupType معطل(Set-Service ‘Spooler’ -StartupType Disabled)

ما هي أفضل طريقة لإدراج خدمات (Services)Windows(List Windows) ؟

سواء كنت تقوم بتشغيل Windows 10 أو Windows Server ، فإن القدرة على عرض قائمة بجميع خدمات Windows يمكن أن تكون سهلة. يمكنك تشخيص المشكلات المتعلقة بوظائف النظام الهامة أو إيقاف خدمات Microsoft غير الضرورية لتحسين الأداء.

لهذا الغرض ، يعد PowerShell هو الخيار الأفضل. بينما يمكنك الحصول على قائمة خدمة في موجه الأوامر(Command Prompt) ، فإن الوظيفة الإضافية التي يوفرها PowerShell أكثر فائدة.

يمكنك استخدام أوامر PowerShell cmdlets للحصول على حالة خدمة عمليات Windows ، وتصفيتها حسب حالتها أو معلمات أخرى. من السهل أيضًا تحديد الخدمات التابعة وبدء تشغيلها أو إيقافها حسب الحاجة.



About the author

أنا مهندس برمجيات لديه خبرة في Xbox Explorer و Microsoft Excel و Windows 8.1 Explorer. في أوقات فراغي ، أحب ممارسة ألعاب الفيديو ومشاهدة التلفزيون. لديّ درجة علمية من جامعة يوتا وأعمل حاليًا كمهندس برمجيات لشركة دولية.



Related posts