كيفية إدارة خدمات Windows عبر سطر الأوامر


أبحث دائمًا عن طرق فعالة لإدارة مهام النظام دون مغادرة المحطة ، حتى عندما أستخدم Windows. على Windows ، تعمل الخدمات في الخلفية للحفاظ على النظام والتطبيقات بسلاسة. بدلاً من فتح مدير الخدمات ، أفضل إدارة خدمات Windows عبر سطر الأوامر. في هذا الدليل ، سنستكشف هذه الأساليب ونرى كيف يمكنك إدارة خدمات Windows مباشرة من المحطة.

1. إدارة خدمات Windows مع SC.Exe

Sc.exe هي أداة سطر أوامر مدمجة لإدارة خدمات Windows. يتيح لك تكوين الخدمات والاستعلام والتحكم مباشرة من المحطة. مع SC.Exe ، يمكنك السيطرة الكاملة على Windows Services دون الحاجة إلى مدير الخدمات الرسومية.

التحقق من حالة الخدمة مع SC

يمكننا استخدام sc query serviceName أمر للتحقق من حالة خدمة معينة. على سبيل المثال ، ندير ملف sc query MySQL80 أمر لاسترداد التفاصيل حول خدمة MySQL80 ، بما في ذلك حالتها:

حاليًا ، لا يعمل MySQL على جهازنا.

بدء خدمة مع SC

لبدء خدمة معينة باستخدام SC.Exe ، يمكننا استخدام sc start ServiceName يأمر. على سبيل المثال ، نركض sc start MySQL80 لبدء خدمة MySQL80. للتحقق مما إذا كانت الخدمة قد بدأت بنجاح ، يمكننا التحقق من حالتها باستخدام sc query MySQL80 يأمر:

بدء الخدمة SC

إيقاف خدمة مع SC

يمكنك إيقاف خدمة لتحرير موارد النظام. على سبيل المثال ، الأمر sc stop MySQL80 توقف MySQL ، والذي يمكن التحقق منه باستخدام sc query MySQL80 يأمر:

توقف الخدمة SC

إنشاء خدمة جديدة مع SC

يمكننا إنشاء خدمة جديدة باستخدام sc create يأمر. هذا يتطلب تحديد اسم الخدمة والمسار القابل للتنفيذ ونوع بدء التشغيل. على سبيل المثال ، لإنشاء خدمة جديدة تسمى “MTE” ستبدأ تلقائيًا في التمهيد ، اكتب:

sc create mte binPath= "C:\Users\HP\Desktop\Examples\Service.exe" start= auto
إنشاء خدمة SC

تحديث خدمة مع SC

يمكننا استخدام sc config أمر لتكوين خدمة موجودة. على سبيل المثال ، لتغيير نوع بدء التشغيل إلى يدوي ، قم بتشغيل الأمر:

sc config serviceName start= demand
تغيير خدمة SC

حذف خدمة مع SC

بمجرد عدم الحاجة إلى الخدمة ، يمكننا إزالتها بشكل دائم من Windows باستخدام الأمر:

sc delete srviceName
حذف الخدمة SC

2. إدارة خدمات Windows مع Net Command

ال net يتيح لنا الأمر في Windows إدارة الخدمات من سطر الأوامر. يسمح للمستخدمين بالبدء والتوقف والتوقف إلى خدمات الاستئناف والاستعلام دون استخدام مدير الخدمات الرسومية.

بدء الخدمة وإيقافها باستخدام أمر صافي

يمكننا بدء أو إيقاف خدمات Windows مع net start serviceName و net stop serviceName الأوامر ، على التوالي:

بدء أو إيقاف الخدمة باستخدام أمر صافي

الإيقاف المؤقت واستئناف الخدمات مع Net Command

تدعم بعض خدمات Windows التوقف مؤقتًا واستئنافًا بدلاً من التوقف الكامل. في هذه الحالة ، يمكننا استخدام net pause ServiceName و net continue ServiceName الأوامر ، على التوالي:

وقفة واستئناف سيرة الذات

التحقق من حالة الخدمة مع الأمر الصافي

لا يوفر الأمر الشبكي نفسه طريقة مباشرة للتحقق من حالة خدمة معينة ، ولكن يمكننا استخدامها مع findstr أمر لتصفية النتائج. على سبيل المثال ، للتحقق مما إذا كانت الخدمة المحددة قيد التشغيل ، اكتب:

net start | findstr "ServiceName"
تحقق من حالة الخدمة مع الأمر الصافي

إذا كانت الخدمة المحددة تعمل ، فإن الأمر يعيد اسمه ؛ خلاف ذلك ، لا يوجد إخراج.

إدارة الخدمات عن بُعد باستخدام الأمر الصافي

يمكننا استخدام الأمر الشبكي لإدارة الخدمات على أجهزة الكمبيوتر عن بُعد عن طريق تحديد اسم الكمبيوتر. على سبيل المثال ، و net start ServiceName /S RemotePC و net stop ServiceName /S RemotePC يتم استخدام الأوامر لبدء أو إيقاف الخدمات على جهاز كمبيوتر بعيد.

3. إدارة خدمات Windows مع PowerShell Cmdlets

يوفر PowerShell تحكمًا أكثر تقدماً في خدمات Windows مع CMDlets المدمجة مثل خدمة Get-Service و Start-Service و Stop-Service و Restart-Service. تتيح هذه cmdlets للمستخدمين التحقق من حالة الخدمة ، والبدء أو إيقافها ، وحتى إعادة تشغيلها عند الحاجة.

توفر PowerShell Cmdlets إخراج مفصل ، بما في ذلك حالة الخدمة واسم العرض والخدمات التابعة. تتيح هذه CMDlets البرمجة النصية والأتمتة ، مما يجعلها مفيدة لإدارة خدمات متعددة بكفاءة.

مرونة PowerShell والميزات القوية تجعلها الأداة المفضلة للمسؤولين الذين يديرون خدمات Windows.

الحصول على حالة الخدمة مع cmdlets

يمكننا استخدام Get-Service -Name ServiceName CMDLET للحصول على التفاصيل حول الخدمة المحددة. على سبيل المثال ، يقوم الأمر التالي بإرجاع حالة خدمة MySQL80 ، مما يوضح ما إذا كانت قيد التشغيل أو توقف:

Get-Service -Name MySQL80
تحقق من حالة الخدمة الحصول على الخدمة

الخدمات مع PowerShell Cmdlets

يمكننا استخدام Get-Service أمر بالاستعلام عن الخدمات بناءً على معايير محددة. على سبيل المثال ، يمكننا استرداد جميع الخدمات التي تعمل حاليًا باستخدام الأمر:

Get-Service | Where-Object $_.Status -eq 'Running'
الاستعلام عن خدمات محددة

بدء الخدمات وإيقافها مع PowerShell Cmdlets

يمكننا بدء أو إيقاف خدمة معينة باستخدام Start-Service و Stop-Service cmdlets على التوالي. على سبيل المثال ، نستخدم أوامر PowerShell للبدء والتوقف والتحقق من حالة خدمة MySQL80:

Start-Service -Name MySQL80 
Stop-Service -Name MySQL80
Get-Service -Name MySQL80
ابدأ إيقاف خدمة PowerShell

تغيير نوع بدء تشغيل الخدمة مع PowerShell Cmdlets

تمكننا PowerShell CMDlets من تحديث نوع بدء تشغيل الخدمة. على سبيل المثال ، يمكننا تشغيل CMDlets التالية لتكوين خدمة للبدء تلقائيًا مع النظام ، أو طلب بدء تشغيل يدوي ، أو تعطيل ، على التوالي:

Set-Service -Name ServiceName -StartupType Automatic
Set-Service -Name ServiceName -StartupType Manual
Set-Service -Name ServiceName -StartupType Disabled

تساعد هذه cmdlets المسؤولين على إدارة سلوك الخدمة بكفاءة ، مما يضمن أن تبدأ الخدمات الأساسية حسب الحاجة مع منع التقاط غير الضرورية من الجري.

إدارة الخدمات عن بُعد مع cmdlets

يتيح PowerShell أيضًا إدارة الخدمات على أجهزة الكمبيوتر عن بُعد من خلال تحديد أسماء أجهزة الكمبيوتر عن بُعد. على سبيل المثال ، و Get-Service -Name ServiceName -ComputerName RemotePC يسترجع الأمر حالة خدمة معينة تعمل على جهاز كمبيوتر بعيد يسمى RemotePC ، مما يسمح للمسؤولين بمراقبة الخدمات عن بُعد.

وبالمثل ، فإن Restart-Service -Name ServiceName -ComputerName serviceName يحاول الأوامر إعادة تشغيل الخدمة المحددة على جهاز كمبيوتر بعيد. إنه يضمن إعادة تشغيل الخدمة دون الحاجة إلى الوصول المباشر إلى الجهاز. ومع ذلك ، تتطلب إدارة الخدمة عن بُعد أذونات مناسبة وتوضيح PowerShell عن بعد.

4. أتمتة مهام إدارة الخدمات

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

على سبيل المثال ، يتحقق البرنامج النصي التالي مما إذا كانت خدمة MySQL80 تعمل وإعادة تشغيلها إذا تم إيقافها:

$serviceName = "MySQL80"
$service = Get-Service -Name $serviceName
if ($service.Status -ne "Running")
Restart-Service -Name $serviceName -Force
Write-Output "$serviceName was stopped and has been restarted."
else
Write-Output "$serviceName is already running."

بشكل افتراضي ، يقوم Windows بتقييد تشغيل البرامج النصية. لتمكين التنفيذ ، أولاً ، قم بتنفيذ الأمر:

Set-ExecutionPolicy RemoteSigned
تمكين تنفيذ البرنامج النصي

انتقل الآن إلى موقع البرنامج النصي وقم بتشغيل .\serviceScript.ps1 أمر لتشغيل البرنامج النصي:

تشغيل السيناريو

تمنحك إدارة خدمات Windows من سطر الأوامر تحكمًا كاملاً دون الاعتماد على مدير الخدمات الرسومية. سواء كنت تستخدم Sc.exe أو Net أو PowerShell Cmdlets ، فإن كل طريقة توفر طرقًا فعالة لبدء الخدمات وتوقفها وتكوينها.

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

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

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى