كيفية إنشاء خدمة Windows

-إنشاء-خدمة-Windows.jpg


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

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

ما الذي أحتاجه لإنشاء خدمة Windows؟

لإنشاء خدمة Windows في Windows 10 ، هناك بعض المتطلبات الأساسية:

  • وصول المسؤول على الكمبيوتر
  • شيء لتشغيله كخدمة (برنامج PowerShell ، برنامج ، إلخ.)
  • مدير خدمة عدم امتصاص Zainstalowano (NSSM)

ما هو مدير خدمة عدم مص؟

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

يمكن استخدام NSSM عبر موجه أوامر Windowsأو واجهة مستخدم رسومية (GUI). هذا يعني أنه يمكن لأي شخص استخدامه. يمكن استخدام NSSM على أي إصدار من Windows ، بدءًا من Windows 2000 ويشمل ذلك. هناك إصدارات 32 بت و 64 بت. إذا كنت تستخدم جهاز كمبيوتر 64 بت ، فجرب هذا الإصدار أولاً. إذا لم يفلح ذلك ، فارجع إلى 32 بت.

يمكنك تحميل NSSM من الموقعو استنساخ NSSM من Gitأو تثبيت NSSM مع Chocolatey. Chocolatey هو مدير حزم لنظام Windows. ستختلف طرق التثبيت حسب المسار الذي تختاره. يرجى الاطلاع على تعليمات NSSM. في مثالنا ، نقوم بتنزيل NSSM من الموقع الإلكتروني وتثبيته ج: نظام WINDOWS32.

قم بإنشاء خدمة Windows مع NSSM

في هذا المثال ، سننشئ خدمة من برنامج PowerShell النصي لتسجيل متوسط ​​النسبة المئوية لتحميل وحدة المعالجة المركزية.

  1. انسخ هذا البرنامج النصي واحفظه باسم سجل CPULoadPercentage.ps1 إلى مكان لا يحتمل أن يدخله أي شخص آخر. حاول إنشاء دليل ج: / مخطوطات وتخزينه هناك. قم أيضًا بإنشاء مجلد في البرامج النصية المسماة السجلات. لاحظ أن المسار إلى البرنامج النصي C: /Scripts/log-CPULoadPercentage.ps1. ستحتاجه لاحقًا.

انتباه: جميع الأسطر أدناه متبوعة بعلامة # هي تعليقات وليس لها أي تأثير على النص.

CLS #Optional. I like to use this to clear the terminal when testing.

#Make sure you have a folder called Logs in the same directory as this script
#The log is where the records will be stored.
Start-Transcript -Path "$PSScriptRootLogslog-CPULoadPercentage-$(get-date -f yyyy-MM-dd).txt" -Append

#While loop keeps it running until manually stopped
While ($True){
     #Creates a timestamp to know when the measurement was taken
     $timeStamp = get-date -f yyyy-MM-h:mm:ss

     #Gets the average load percentage at that time, then waits 5 seconds to do it again.
     $cpuLoadPercent = Get-CimInstance win32_processor | Measure-Object -Property LoadPercentage -Average | Select-Object Average;Start-Sleep -Seconds 5

     #Isolates just the average so there isn't a weird @{Average=13} string
     $cpuLoadPercent = $cpuLoadPercent.Average

     #writes results to screen, or in this case to the log
     Write-Host "$timeStamp CPU Load Percentage $cpuLoadPercent"
}

Stop-Transcript
  1. يمكن القيام بذلك في ملف موجه أوامر Windows أو بوويرشيل. افتحه كمسؤول.
  2. أدخل الأمر nssm ، قم بتثبيت logCPUAvg وتشغيله. ملف مثبت خدمة NSSM ستفتح النافذة.
  1. انقر فوق زر علامة القطع بجوار مسار: اذهب إلى بوويرشيل والذي يقع عادة في ج: Windows System32 . اختر بوويرشيل. ملف مسار: أنا دليل التمهيد: سيتم ملء الحقول تلقائيًا.
  1. أدخل المعلومات التالية في الحجج: عمود: -تجاوز تنفيذ السياسة – NoProfile – ملف “C: PathToScript get-Script.ps1”حيث يكون الجزء الأخير هو المسار إلى البرنامج النصي PowerShell واسم البرنامج النصي.
  1. أختر تفاصيل حزام. اكتب ما تريد عرضه في الخدمة كما في مدير خدمة Windows في الملف اسم العرض: حقل. ثم اكتب ما يفعله وصف: حقل. ملف نوع الإطلاق: يمكن تعيينها كـ تلقائيو تلقائي (بدء متأخر)و الكتاب الدراسيأو إيقاف. التلقائي جيد في هذا التمرين.
  1. أختر تسجيل الدخول حزام. أختر لكونتو: زر الاختيار وأدخل الحساب وكلمة المرور اللذين سيتم تشغيل الخدمة بموجبهما. يجب عليك تحديد الحساب الذي سيتم تشغيل الخدمة عليه. من الناحية المثالية ، يجب أن يكون لديك حساب Windows تم إنشاؤه فقط لتشغيل هذه الخدمة. يجب أن تقتصر أذونات الحساب على ما تحتاجه الخدمة فقط. يمكنك اختيار حساب النظام المحليلكن لا ينصح به لأسباب أمنية.

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

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

nssm-check-log.png

إزالة خدمة Windows باستخدام NSSM

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

  1. ث مدير خدمة Windowsخدمة محطة. افعل ذلك عن طريق اختيار الملف سجل متوسط ​​حمل وحدة المعالجة المركزية الخدمة ثم تحديد زر الإيقاف المربع على شريط الأدوات أو ملف أوقف الخدمة الارتباط على اليسار.
  1. افتح الملف موجه أوامر Windows أو بوويرشيل كمسؤول.
  2. أدخل الأمر nssm إزالة logCPUAvg وتنفيذ الأمر.
  1. سيطلب NSSM التأكيد. أختر وبالتالي.
  1. عند إزالة الخدمة ، سترى الملف تمت إزالة خدمة “logCPUAvg” بنجاح! التأكيد. أختر حسنا وانت انتهيت.

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

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

scroll to top