برامج لإنشاء خدمات ويندوز. خدمات ويندوز

26.05.2019

يعمل على نظام التشغيل قيد التشغيل عدد كبير. يتم إنشاء هذه العمليات بواسطة البرامج التي تعمل على الكمبيوتر و خدمات النظام.

- هذه هي برامج النظام التي يتم تشغيلها على الكمبيوتر عند بدء تشغيل Windows وتؤدي الوظائف المخصصة لها.

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

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

انحرافًا قليلاً عن الموضوع، أريد أن أؤكد مرة أخرى أن تافهة العديد من المستخدمين، الذين يعتقدون أن لا أحد يهتم بشخصهم المتواضع، يجلب أحيانًا مشكلة كبيرة... لا يجب أن تعتقد أن هناك من يزيد ضغينة ضدك ... في معظم الحالات، يكون المهاجم هو جهاز الكمبيوتر الخاص بك، وليس أنت. لماذا يحتاج جهاز الكمبيوتر الخاص بك؟ ربما سأكتب ملاحظات حول هذا الموضوع، ولكن بعد ذلك بقليل. إذا كنت تريد الحصول على إجابة لهذا السؤال الآن، فافعل قليلاً " عمل مستقل"وابحث في الإنترنت عن المعلومات باستخدام الاستعلام" الروبوتات».

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

للوصول إلى خدمات Windows، يجب عليك فتح وحدة التحكم المناسبة. ويتم ذلك إما من خلال ( الإدارة - الخدمات)


أو من خلال وحدة تحكم إدارة الكمبيوتر. للقيام بذلك، انتقل إلى القائمة "ابدأ" وعلى العنصر حاسوبيتصل قائمة السياقعن طريق النقر بزر الماوس الأيمن. من القائمة حدد العنصر يتحكم.


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


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

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

آخر تحديث: 31/10/2015

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

دعونا نلقي نظرة على كيفية إنشاء خدماتك الخاصة في C#. كمهمة سيتم تنفيذها، سنختار مراقبة التغييرات في مجلد معين في نظام الملفات. الآن لنقم بإنشاء خدمة لتنفيذها.

أولاً، لنقم بإنشاء مشروع جديد سيكون له نوع ويندوزخدمة. لنسمّي المشروع FileWatcherService:

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

لذلك يبدو المشروع الجديد كما يلي:

يوجد أيضًا ملف Program.cs وهناك عقدة الخدمة الفعلية Service1.cs.

يقدم الخدمة التطبيق العادي، لكنه لا يبدأ من تلقاء نفسه. تتم جميع المكالمات والوصول إليها من خلال مدير التحكم في الخدمة (إدارة التحكم في الخدمة أو SCM). عندما تبدأ الخدمة تلقائيًا عند بدء تشغيل النظام أو يدويًا، يستدعي SCM الطريقة الرئيسية في فئة البرنامج:

برنامج فئة ثابتة ( static void Main() ( ServiceBase ServicesToRun; ServicesToRun = new ServiceBase ( new Service1() ); ServiceBase.Run(ServicesToRun); ) )

يتم تعريف الطريقة الرئيسية افتراضيًا لتشغيل خدمات متعددة في وقت واحد، والتي يتم تعريفها في مصفوفة ServicesToRun. ومع ذلك، بشكل افتراضي يحتوي المشروع على خدمة واحدة فقط، Service1. يتم تنفيذ الإطلاق نفسه باستخدام طريقة التشغيل: ServiceBase.Run(ServicesToRun) .

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

تمثل فئة Service1 الخدمة بالفعل. بشكل افتراضي، يحتوي على الكود التالي:

استخدام النظام؛ باستخدام System.Collections.Generic؛ باستخدام System.ComponentModel؛ باستخدام System.Data؛ باستخدام System.Diagnostics؛ باستخدام System.Linq؛ باستخدام System.ServiceProcess؛ باستخدام System.Text؛ باستخدام System.Threading.Tasks؛ مساحة الاسم FileWatcherService (فئة عامة جزئية Service1: ServiceBase ( public Service1() (InitializeComponent();) تجاوز محمي باطلة OnStart(string args) () محمي تجاوز باطلة OnStop() ( ) ) )

يجب أن ترث فئة الخدمة من فئة ServiceBase الأساسية. تحدد هذه الفئة عددًا من الطرق، أهمها طريقة OnStart()، التي تبدأ الإجراءات التي تقوم بها الخدمة، وطريقة OnStop()، التي توقف الخدمة.

بعد أن يستدعي SCM الأسلوب الرئيسي ويسجل الخدمة، يتم استدعاؤه مباشرة عن طريق تشغيل أسلوب OnStart.

عندما نرسل أمرًا لإيقاف خدمة ما في وحدة تحكم الخدمات أو من خلال سطر الأوامر، يستدعي SCM أسلوب OnStop لإيقافه.

بالإضافة إلى هاتين الطريقتين في فئة الخدمة، يمكنك تجاوز عدة طرق أخرى لفئة ServiceBase الأساسية:

    OnPause: يتم الاتصال به عند إيقاف الخدمة مؤقتًا

    OnContinue: يتم الاتصال به عند استئناف الخدمة بعد تعليقها

    OnShutdown: يتم الاتصال به عند إيقاف تشغيل Windows

    OnPowerEvent: يتم استدعاؤه عندما يتغير وضع الطاقة

    OnCustomCommand: يتم استدعاؤه عندما تتلقى الخدمة أمرًا مخصصًا من إدارة التحكم بالخدمة (SCM)

في مُنشئ فئة Service1، يتم استدعاء الأسلوبInitializeComponent()، والذي تم تعريفه في ملف المصمم Service1.Designer.cs:

مساحة الاسم FileWatcherService (فئة جزئية Service1 (مكونات System.ComponentModel.IContainer الخاصة = فارغة؛ تجاوز محمي void Dispose(bool dispose) ( if (disposition && (components != null)) (consents.Dispose(); ) base.Dispose(dispose );

الشيء الوحيد الذي يجب ملاحظته فيه هو تعيين اسم الخدمة (خاصية اسم الخدمة):

This.ServiceName = "Service1";

هذا هو الاسم الذي سيتم عرضه في وحدة تحكم الخدمات بعد تثبيت هذه الخدمة. يمكننا تغييره، أو يمكننا تركه كما هو.

الآن لنغير رمز الخدمة كما يلي:

استخدام النظام؛ باستخدام System.ServiceProcess؛ باستخدام System.IO؛ باستخدام System.Threading؛ مساحة الاسم FileWatcherService (فئة عامة جزئية Service1: ServiceBase ( Logger logger؛ public Service1() (InitializeComponent(); this.CanStop = true; this.CanPauseAndContinue = true; this.AutoLog = true;) تجاوز محمي باطل OnStart(string args) ( logger = new Logger(); Thread loggerThread = new Thread(new ThreadStart(logger.Start)); loggerThread.Start(); تجاوز محمي OnStop() ( logger.Stop(); Thread.Sleep(1000); ) ) مسجل الفئة ( FileSystemWatcher watcher؛ object obj = كائن جديد ()؛ تمكين منطقي = صحيح؛ public Logger () ( watcher = new FileSystemWatcher ("D:\\Temp")؛ watcher.Deleted += Watcher_Deleted؛ watcher.Created + = Watcher_Created; watcher.Changed += Watcher.Renamed += Watcher_Renamed;) public void Start() ( watcher.EnableRaisingEvents = true; while(enabled) ( Thread.Sleep(1000); ) ) public void Stop() ( watcher.EnableRaisingEvents) = false؛

سلسلة filePath = e.OldFullPath; RecordEntry(fileEvent, filePath);. تحدد طريقة Start() أننا سنراقب التغييرات من خلال كائن FileSystemWatcher. وسيستمر كل العمل طالما أن المتغير المنطقي الممكّن صحيح. وستسمح طريقة Stop() بإنهاء الفصل.

تسمح لك أحداث FileSystemWatcher بمراقبة جميع التغييرات في المجلد المراقب. سيؤدي هذا إلى تسجيل التغييرات في ملف templog.txt. لتجنب سباق الموارد لملف templog.txt، الذي يتم تسجيل التغييرات فيه، يتم حظر إجراء التسجيل بواسطة كعب روتين القفل (obj).

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

30/07/2015 12:15:40 تم إنشاء ملف D:\Temp\New text document.txt 07/30/2015 12:15:46 تمت إعادة تسمية الملف D:\Temp\New text document.txt إلى D:\ Temp\hello.txt 07/30/2015 12:15:55 تم تعديل الملف D:\Temp\hello.txt 07/30/2015 12:15:55 تم تعديل الملف D:\Temp\hello.txt 07/30. /2015 12:16:01 تم حذف الملف D: \Temp\hello.txt

في فئة الخدمة Service1 نفسها، يتم تعيين عدد من الخيارات في المنشئ:

This.CanStop = true; // يمكن إيقاف الخدمة this.CanPauseAndContinue = true; // يمكن إيقاف الخدمة مؤقتًا ثم متابعتها this.AutoLog = true; // يمكن للخدمة الكتابة إلى السجل

في طريقة OnStart()، يتم استدعاء مؤشر ترابط جديد لبدء كائن المسجل:

تجاوز محمي باطل OnStart(string args) ( logger = new Logger(); Thread loggerThread = new Thread(new ThreadStart(logger.Start)); loggerThread.Start(); )

هناك حاجة إلى مؤشر الترابط الجديد لأن مؤشر الترابط الحالي يعالج أوامر SCM فقط ويجب أن يعود من أسلوب OnStart في أسرع وقت ممكن.

عند تلقي أمر من SCM لإيقاف الخدمة، يتم تشغيل أسلوب OnStop، الذي يستدعي الأسلوب logger.Stop(). سيسمح التأخير الإضافي لمؤشر ترابط المسجل بالتوقف:

تجاوز محمي باطل OnStop () ( logger.Stop ()؛ Thread.Sleep (1000)؛ )

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

هذه المادة هي نسخة طبق الأصل من مقالة الموقع "ملاحظات حول WINDOWS" مع بعض الملاحظات من التجربة الشخصية.

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

لإنشاء وخدمة من سطر الأوامريمكنك استخدام برنامج SC (Sc.exe). SC هي أداة مساعدة لسطر الأوامر تقوم بإجراء مكالمات لجميع وظائف واجهة برمجة تطبيقات إدارة خدمة Windows (API). بمساعدتها، يمكنك تنفيذ أي إجراءات مع الخدمات - عرض الحالة، والإدارة (البدء، والتوقف، وما إلى ذلك)، وتغيير المعلمات، وكذلك إنشاء خدمات جديدة.

عند إنشاء خدمة باستخدام SC، لا يتعين عليك إنشاء إدخالات التسجيل يدويًا ثم إعادة تشغيل الكمبيوتر للسماح لـ Service Manager بتحديث قاعدة البيانات. يتيح لك SC أيضًا تحديد اسم الكمبيوتر البعيد، مما يجعل من الممكن إدارة الخدمات على جهاز كمبيوتر محلي وعلى جهاز كمبيوتر بعيد.

لإنشاء خدمة جديدة، قم بتشغيل الأمر Sc create. يقوم بإنشاء إدخال خدمة في التسجيل وفي قاعدة بيانات إدارة الخدمة. يحتوي Sc create على بناء الجملة التالي:

الشوري خلق

اسم الخدمة - يحدد الاسم الذي سيتم تعيينه لقسم الخدمة في التسجيل. لاحظ أن هذا الاسم يختلف عن اسم عرض الخدمة (الاسم الذي يظهر في الأداة الإضافية للخدمات)؛
binPath - يحدد المسار إلى ملف قابل للتنفيذخدمات.

على سبيل المثال، لنقم بإنشاء خدمة MyService، وتحديد اسم العرض My New Service، وتعيين نوع الخدمة، وضبطها على التشغيل التلقائي:

Sc إنشاء MyService binPath=C:\MyService\MyService.exe DisplayName=″خدمتي الجديدة″ type=own start=auto

ثم افتح الأداة الإضافية "الخدمات" وشاهد النتيجة.

يمكنك تغيير معلمات الخدمة التي تم إنشاؤها بالفعل باستخدام أمر Sc config. على سبيل المثال، لم يعجبني اسم العرض للخدمة وأريد تغييره:

Sc config MyService DisplayName=″خدمتي”

حسنًا، يمكنك إزالة الخدمة تمامًا مثل هذا:

SC حذف MyService



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

إذا أصدرنا الأمر:

C:\sc إنشاء Weblogic binPath=C:\Oracle\MiddleWare\user_projects\base_domain\startWeblogic.cmd DisplayName = "WebLogic" نوع = بدء المشاركة = خطأ تلقائي = تجاهل

ردًا على ذلك، سنتلقى مساعدة حول استخدام sc دون أي رسالة خطأ:



نصدر نفس الأمر عن طريق إدخال مسافات بعد الرمز "=":

C:\>sc إنشاء Weblogic binPath= C:\Oracle\MiddleWare\user_projects\base_domain\startWeblogic.cmd DisplayName= نوع "WebLogic"= بدء المشاركة= خطأ تلقائي= تجاهل

نجاح إنشاء الخدمة


هذه ميزة غير موثقة.

ومن الضروري أيضًا إيلاء اهتمام وثيق للمعلمات الأخرى. في الحالة أدناه، تم تغيير قيم معلمات البداية والنوع:


نتلقى رسالة

فشل إنشاء الخدمة 87:

وبعد القولون ليس هناك تفسير.

يمكن الاطلاع على المعنى التفصيلي للمعلمات أو.

لتغيير معلمات خدمة النظام، تحتاج إلى إدخال معلمات جديدة باستخدام الأمر:

# التكوين الشوري اسم الخدمةابدأ= Launch_parameter

لبدء الخدمة في نظام التشغيل Windows، تحتاج إلى كتابة وحدة التحكم:

# البداية الصافية اسم الخدمة

لإيقاف الخدمة:

#صافي توقف اسم الخدمة

لإعادة تشغيل الخدمة:

# إعادة تشغيل صافية اسم الخدمة

إذا كنت تريد تحديد الخدمات التي ستعتمد على خدمة معينة، يمكنك الكتابة تعداد الشوري

الآن، لمعرفة الخدمات التي تعتمد على خدمة الخادم المسماة lanmanserver، تحتاج إلى إصدار الأمر

sc enumdepend Lanmanserver

تشغيل أمر مثل هذا في الاختبار الخاص بي خادم ويندوزيوضح عام 2003، على سبيل المثال، أن خدمات Netlogon وDfs ومتصفح الكمبيوتر تعتمد على خدمة الخادم.

لإكمال وتحديد تبعيات الخادم، يمكنك استخدام الأمر الفرعي qc كما هو موضح أدناه

SC مراقبة الجودة Lanmanserver

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

في بعض الأحيان تكون التبعيات أكثر تعقيدًا. على سبيل المثال، قد تبدأ بعض الخدمات فقط في حالة تشغيل إحدى الخدمات الثلاث الأخرى. تشغيل الثلاثة ليس ضروريا؛ واحد يكفي. يمكنك إرشاد Windows حول هذه الديناميكية عن طريق إعلام النظام بأن خدمة معينة تعتمد على مجموعة من الخدمات. في نظام ويندوزهناك عدد من الخدمات مثل SCSI CDROM Class، SCSI miniport، Parallel Arbitrator، NetBIOSGroup، NDIS، بالإضافة إلى خدمات القرص الأساسية وغيرها الكثير. يمكن رؤية كل هذه الخدمات وبرامج التشغيل في قائمة المجموعات عن طريق الكتابة

نوع الاستعلام sc = الخدمة؟ السائق؟ جميع المجموعة =

على سبيل المثال، لعرض كافة الخدمات وبرامج التشغيل في مجموعة الخدمات الخاصة بالقرص الأساسي، يمكنك الكتابة

نوع الاستعلام sc = كل المجموعة =

أسماء المجموعة لا يهم. يمكنك إضافة خدمات إلى مجموعات موجودة أو إنشاء مجموعات خدمة جديدة عن طريق إضافة الأمر group= groupname إلى الأمر SC Create أو باستخدام SC Config لحفظ خدمة في مجموعة. على سبيل المثال، لإضافة خدمة Webimagemailer إلى مجموعة جديدةيسمى غير مهم، تحتاج إلى الكتابة

sc config webimagemailer group = غير مهم

ومع ذلك، لا يمكنك وضع خدمة أو برنامج تشغيل في أكثر من مجموعة خدمة واحدة.

بالإضافة إلى ذلك، يمكنك التأكد من عدم تحميل خدمة Webimagemailer بدون مجموعة الخدمة المطلوبة. لتحديد مجموعة Webstartup الوهمية، سنستخدم المعلمة تبعًا = webstartup. لإخبار Windows أن Webstartup عبارة عن مجموعة وليست مجرد خدمة أخرى، يجب عليك وضع علامة الجمع أمام اسمها. على سبيل المثال، لإعادة تكوين خدمة Webimagemailer لتعتمد على مجموعة بدء تشغيل Webstartup، ستحتاج إلى الكتابة

يعتمد sc config webimagemailer= +webstartup

بهذه الطريقة اكتشفنا كيفية استخدام التبعيات والمجموعات لمنح المزيد من التحكم الدقيق في الترتيب الذي يتم به تحميل الخدمة. والآن لن يفاجأ أحد لماذا كنت سعيدًا للغاية عندما اكتشفت مرسل SC قبل عدة سنوات.

بوويرشيل

يستطيع PowerShell القيام بكل شيء تقريبًا، بما في ذلك إدارة خدمات Windows. يمكنك إنشاء خدمة جديدة باستخدام الأمر cmdlet للخدمة الجديدة. لنقم بإنشاء نفس الخدمة كما في المثال السابق، فقط أضف وصفًا لها:

خدمة جديدة -اسم MyService -BinaryPathName C:\MyService\MyService.exe`
-اسم العرض "خدمتي الجديدة" -الوصف "خدمة مهمة جدًا !!!"

يمكنك تغيير معلمات الخدمة باستخدام Set-Service cmdlet:

Set-Service -Name MyService -الوصف "خدمة ليست مهمة جدًا" - دليل نوع بدء التشغيل



من حيث المبدأ، يتمتع PowerShell بنفس وظيفة Sc.exe تقريبًا، باستثناء أنه يسمح لك بإضافة وصف. ولكن لإزالة الخدمات في PS طريقة بسيطةلا، سيكون عليك استخدام هذا البناء:

(احصل على WmiObject win32_service -Filter ″name=′MyService′″).delete()

تمت أرشفة هذه الوثائق ولم يعد يتم الاحتفاظ بها.

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

تحتاج أولاً إلى إنشاء مشروع وتعيين القيم المطلوبة له التشغيل السليمخدمات.

لإنشاء خدمة وتكوينها، اتبع الخطوات التالية:

    في Visual Studio، في شريط القائمة، حدد ملف, يخلق, مشروع.

    سيتم فتح مربع حوار مشروع جديد.

    في قائمة قوالب المشروع فيجوال بيسكأو حدد Visual C# خدمة ويندوزوإعطاء المشروع اسما MyNewService. انقر فوق الزر نعم.

    سيضيف قالب المشروع تلقائيًا فئة مكون تسمى Service1 ترث من .

    في القائمة يحرريختار البحث والاستبدال, البحث في الملفات(اختصار لوحة المفاتيح: Ctrl+Shift+F). استبدل كافة تكرارات Service1 بـ MyNewService . ستجد مثيلات في Service1.cs وProgram.cs وService1.Designer.cs (أو ما يعادلها من .vb).

    في النافذة ملكياتل Service1.csأو Service1.vbتعيين ل والخصائص (اسم)لقيمة Service1 MyNewService، إذا لم يتم ذلك بالفعل.

    في Solution Explorer، قم بإعادة التسمية Service1.cs V MyNewService.csأو Service1.vb V MyNewService.vb.

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

لإضافة وظيفة تسجيل الأحداث المخصصة إلى خدمتك، اتبع الخطوات التالية:

    في النافذة مستكشف الحلول MyNewService.csأو MyNewService.vbوحدد عرض منشئ.

    من القسم عناصر شريط الأدواتاسحب المكون إلى نافذة المصمم.

    في النافذة مستكشف الحلولافتح قائمة السياق لعنصر ما MyNewService.csأو MyNewService.vbوحدد عرض الرمز.

    إضافة إعلان للكائن سجل الأحداثفي فئة MyNewService مباشرة بعد السطر الذي يعلن عن متغير المكونات:

    إضافة أو تعديل مُنشئ لتحديد سجل أحداث مخصص:

    public MyNewService() (InitializeComponent(); eventsLog1 = new System.Diagnostics.EventLog(); if (!System.Diagnostics.EventLog.SourceExists("MySource" )) ( System.Diagnostics.EventLog.CreateEventSource("MySource" ," MyNewLog" ); ) eventsLog1.Source = "MySource" ; eventsLog1.Log = "MyNewLog" ; )

لتعيين سلوك بدء تشغيل خدمة ما، اتبع الخطوات التالية:

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

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

    أضف رمزًا للتعامل مع حدث المؤقت:

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

لتعيين سلوك الخدمة عند إيقافها، اتبع الخطوات التالية:

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

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

تنفيذ حالة انتظار الخدمة

    قم بإضافة عبارة استخدام أو تعريف الاستيراد إلى مساحة الاسم في الملف MyNewService.cs أو MyNewService.vb.

    أضف التعليمة البرمجية التالية إلى ملف MyNewService.cs للإعلان عن قيم ServiceState وإضافة بنية للحالة التي سيتم استخدامها عند استدعاء التعليمات البرمجية الأصلية:

    التعداد العام لحالة الخدمة ( SERVICE_STOPPED = 0x00000001، SERVICE_START_PENDING = 0x00000002، SERVICE_STOP_PENDING = 0x00000003، SERVICE_RUNNING = 0x00000004، SERVICE_CONTINUE_PENDING = 0x00000005، SERVICE_PAUSE_PENDING = 0x00 000006، SERVICE_PAUSED = 0x00000007،) البنية العامة ServiceStatus (dwServiceType العام الطويل؛ حالة الخدمة العامة dwCurrentState؛ dwControlsAccepted الطويل العام؛ dwWin32ExitCode العام الطويل؛ dwServiceSpecificExitCode العام الطويل؛

    الآن في فئة MyNewService، قم بتعريف الوظيفة باستخدام استدعاء التعليمات البرمجية الأصلي.

    لتنفيذ حالة التشغيل والانتظار، أضف الكود التالي إلى بداية الطريقة:

    // قم بتحديث حالة الخدمة لبدء الانتظار. ServiceStatus ServiceStatus = new ServiceStatus(); ServiceStatus.dwCurrentState = ServiceState.SERVICE_START_PENDING؛ ServiceStatus.dwWaitHint = 100000; SetServiceStatus(this .ServiceHandle, refserviceStatus);

    لتعيين الحالة على "قيد التشغيل"، أضف التعليمات البرمجية في نهاية ملف .

    // قم بتحديث حالة الخدمة إلى التشغيل. ServiceStatus.dwCurrentState = ServiceState.SERVICE_RUNNING; SetServiceStatus(this.ServiceHandle, refserviceStatus);

    "قم بتحديث حالة الخدمة إلى قيد التشغيل. ServiceStatus.dwCurrentState = ServiceState.SERVICE_RUNNING SetServiceStatus(Me .ServiceHandle,serviceStatus)

    (اختياري) كرر هذا الإجراءللطريقة .

انتباه!

إضافة خيارات الإطلاق

    في الطريقة الرئيسية للطريقة الموجودة في ملف Program.cs أو في MyNewService.Designer.vb، قم بإضافة وسيطة سطر الأوامر:

    قم بتغيير مُنشئ MyNewService ليبدو كما يلي:

    MyNewService العامة (سلسلة الحجج) (InitializeComponent ()؛ سلسلة EventSourceName = "MySource"؛ string logName = "MyNewLog"؛ if (args.Count() > 0) (eventSourceName = args;) if (args.Count() > 1 ) ( logName = args; ) eventsLog1 = new System.Diagnostics.EventLog(); if (!System.Diagnostics.EventLog.SourceExists(eventSourceName)) ( System.Diagnostics.EventLog.CreateEventSource(eventSourceName, logName); ) eventsLog1.Source = EventSourceName؛ eventsLog1.Log = اسم السجل)

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

    لتعيين وسيطات سطر الأوامر، قم بإضافة التعليمة البرمجية التالية إلى فئة ProjectInstaller في ملف ProjectInstaller.cs أو ProjectInstaller.vb:

    التجاوز المحمي باطلة OnBeforeInstall(IDictionary saveState) (معلمة السلسلة = "MySource1\" \"MyLogFile1" ; context.Parameters["assemblypath" ] = "\"" + context.Parameters["assemblypath" ] + "\" \"" + المعلمة + "\"" ؛ قاعدة .OnBeforeInstall(savedState);)

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

مقال عن خدمات Windows والغرض منها وتكوينها.

أعتقد أنني سأبدأ مقال اليوم بقول بسيط :)...

حدث هذا عندما كنت لا أزال أكثر تقدمًا بقليل من "إبريق الشاي" البسيط (حسنًا، كنت أعرف كيفية إعادة تثبيت Windows، ولكن كانت هناك برامج مختلفة). كان لدي طابعة (بالمناسبة، لا تزال تعمل بأمانة!) والتي تم استخدامها فقط من وقت لآخر.

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

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

لماذا هناك حاجة للخدمات؟

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

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

لذا، فإن الخدمة، ببساطة، هي برنامج نظام يسمح لنظام Windows بالوصول إلى كل شيء برامج التشغيل المثبتة، الذي يتحكم في جزء أو جزء آخر من أجهزة الكمبيوتر الخاص بك:


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

مميزات الخدمات

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

ومع ذلك، هناك حالات عندما تفشل هذه الخدمة أو تلك. قد يكون هناك عدة أسباب:

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

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

أعتقد أننا انتهينا من النظرية لهذا اليوم، لذلك دعونا ننتقل إلى الممارسة...

عرض وتكوين الخدمات

يمكنك عرض قائمة بجميع الخدمات المثبتة في الإصدارات الجديدة من Windows (بدءًا بـ Vista) مباشرةً في "إدارة المهام"، والتي يتم استدعاؤها بواسطة اختصار لوحة المفاتيح CTRL+SHIFT+Esc:


تعد إدارة الخدمات في "إدارة المهام" أمرًا ملائمًا إذا كنت تريد فقط التحقق بسرعة مما إذا كانت خدمة معينة نشطة وبدء تشغيلها (أو تعطيلها). يتم استخدام قائمة السياق لهذه الإجراءات.

بالإضافة إلى وظائف بدء/إعادة التشغيل/إيقاف وفتح الأداة الإضافية للخدمات، ظهرت في نظام التشغيل Windows 8 ميزة رائعة في القائمة - "البحث في الإنترنت". يتيح لك العثور بسرعة على معلومات حول الخدمة المحددة على شبكة الويب العالمية.

ومع ذلك، لا يستخدم الجميع أنظمة التشغيل الحديثة. لا يزال العديد من الأشخاص يستخدمون نظام التشغيل Windows XP القديم الجيد. وهناك مدير المهام هزيل للغاية. احصل على الوصول إلى الخدمات في كل شيء دون استثناءات ويندوزيستطيع طريقة بديلة- من خلال أجهزة النظام التي تحمل نفس الاسم. يتم فتحه على النحو التالي: "ابدأ" (أو "الكمبيوتر" في نظام التشغيل Windows 8) ← لوحة التحكم ← أدوات إدارية ← الخدمات (أو باستخدام الأمر "services.msc" (بدون علامتي الاقتباس) في سطر "التشغيل":


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

تتمتع كل خدمة في القائمة بعدد من الخصائص:

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

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

إذا نقرنا نقرًا مزدوجًا على الخدمة بزر الفأرة الأيسر أو حددنا "خصائص" في قائمة السياق، فيمكننا الوصول إلى الإعدادات:

في إصدارات مختلفةفي نظام التشغيل Windows، سيختلف عدد علامات التبويب التي تحتوي على خصائص الخدمة، ولكن في جميع الحالات يتم فتح علامة التبويب "عام" أولاً. يسمح لك برؤية جميع المعلمات الرئيسية للخدمة المحددة وتكوين نوع التشغيل الخاص بها هنا. أنواع، اعتمادا على تثبيتها إصدارات ويندوزربما 3 أو 4:

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

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

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

يمكن أن تكون علامة التبويب الأخيرة مفيدة إذا لم تكن متأكدًا مما إذا كانت الخدمة مطلوبة أو لا شيء يعتمد عليها ويمكن تعطيلها.

تعطيل الخدمات

والآن نصل إلى أهم شيء :) كما فهمنا بالفعل، تلعب الخدمات في Windows دورا مهما، ولكن ليس حاسما. لذلك، لتسريع تحميل جهاز الكمبيوتر، يُنصح أحيانًا إما بتعطيل بعض الخدمات تمامًا، أو تنشيط بدء تشغيلها المؤجل أو تشغيلها عند الطلب.

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

للأسف، لا توجد وصفة عالمية لتكوين الخدمات. على أجهزة الكمبيوتر الخاصة بكل شخص، بالإضافة إلى العشرات من الخدمات القياسية، يوجد أيضًا عدد من خدمات الطرف الثالث التي تم تثبيتها بواسطة برامج مختلفة (على سبيل المثال، برنامج مكافحة فيروسات، نوع من المحاكي، وما إلى ذلك). لا يمكن تعطيل خدمات برامج مكافحة الفيروسات، ولكن، على سبيل المثال، نوع بدء تشغيل خدمة محاكي محرك الأقراص الظاهري Daemon Tools أو الآلة الافتراضيةيمكن تنفيذ BlueStack "يدويًا".

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

وأخيرًا، هناك عدد من خدمات النظام التي يمكن تعطيلها بشكل كامل بأمان في ظل ظروف معينة. وسوف أدرجها أدناه على شكل لافتة باسم الخدمة وما سنفقده عند تعطيلها:

اسم الخدمة ماذا سنخسر إذا قطعنا الاتصال؟
KtmRm لمنسق المعاملات الموزعة نوع ما خدمة النظام، والذي يوصي حتى Windows نفسه بإيقاف تشغيله إذا كنت لا تعرف سبب الحاجة إليه :)
ملفات دون اتصال دعم الملفات غير المتصلة بالإنترنت التي لا يمكن الوصول إليها من الشبكة (من حيث المبدأ، حتى نمنح حق الوصول إلى مجلد معين، تكون جميع الملفات غير متصلة بالإنترنت بالفعل :))
وكيل سياسة IPSec حماية بروتوكول TCP/IP على مستوى الشبكة (من حيث المبدأ، المتصفحات الحديثةبشكل افتراضي، يتم فحص جميع الحزم ليس أسوأ على مستوى البرنامج)
التحكم في السطوع التكيفي تشغيل مستشعر الضوء (إذا لم يكن موجودًا، فلا تتردد في تعطيله)
جدار حماية ويندوز تشغيل جدار الحماية المدمج (يمكن تعطيله إذا كنت تريد تثبيت جدار حماية تابع لجهة خارجية أو تعطيله تمامًا :))
متصفح الكمبيوتر عرض أجهزة الكمبيوتر الأخرى في بيئة الشبكة(إذا لم يكن الكمبيوتر متصلاً الشبكة المحلية، يمكن تعطيل)
خدمة IP المساعدة دعم بروتوكول IPv6 (ليست هناك حاجة إليه بالفعل بعد)
تسجيل الدخول الثانوي القدرة على تشغيل العمليات نيابة عن مستخدمين آخرين (من الأفضل تعطيلها، على الأقل لأسباب أمنية)
مدير الطباعة دعم الطابعات (بما في ذلك الطابعات الافتراضية) (إذا لم يكن لديك طابعة ولا تحتاج إلى حفظ أي شيء في ملف PDF، فيمكنك تعطيلها)
الوصول إلى أجهزة HID دعم لوحات المفاتيح وأجهزة الماوس USB (لا يمكن تعطيله إلا على أجهزة الكمبيوتر التي تحتوي على أجهزة إدخال متصلة بمنافذ PS/2)
ويندوز المدافع تشغيل نظام الحماية من الفيروسات القياسي (من الأفضل تعطيله واستبداله ببرنامج مكافحة فيروسات عادي كامل)
تم تغيير عميل تتبع الارتباط وظيفة لتتبع وتسجيل حركة الملفات داخل جهاز الكمبيوتر أو عبر الشبكة (لا تتردد في تعطيلها لحفظ الموارد)
وحدات IPsec الرئيسية لتبادل مفاتيح الإنترنت ومصادقة IP طريقة بجنون العظمة لحماية اتصال الشبكة الخاصة بك :)
كشف SSDP في الواقع، العمل مع الأجهزة البعيدة باستخدام بروتوكول SSDP (من غير المحتمل أن تستخدم شيئًا كهذا :))
بحث ويندوز البحث القياسي باستخدام الزر F3 (يمكن تعطيله إذا كنت نادرًا ما تبحث عن شيء ما)
سياسة إزالة البطاقة الذكية قفل الكمبيوتر عند إزالة البطاقة الذكية (أشك في أن أي شخص لديه هذه :))
خدمة إدخال الكمبيوتر اللوحي يدعم شاشة تعمل باللمس(إذا لم يكن لديك شاشة تعمل باللمس، قم بإيقاف تشغيلها)
خدمة بادئ Microsoft iSCSI دعم لأجهزة iSCSI
دعم بلوتوث في الواقع، دعم البلوتوث (في حالة عدم وجوده، قم بإيقاف تشغيله)
خدمة تسجيل الأخطاء في Windows إرسال تقارير الأخطاء إلى Microsoft "المفضلة" لديك
التسجيل عن بعد الوصول إلى التسجيل عبر الشبكة المحلية
فاكس دعم استقبال الفاكس عبر المودم المدمج (في أجهزة الكمبيوتر الحديثةلم يعد هذا هو الحال)
مشفرة نظام الملفات(إي إف إس) وظيفة تشفير الملفات القياسية (إذا لم يكن هناك من يمكن تشفيره، قم بإيقاف تشغيله :))

Phew :) يبدو أن كل شيء موجود في قائمتي. ربما فاتني شيء ما، لكنني بالتأكيد ذكرت معظم الخدمات القياسية البسيطة. يمكنك التحقق من القائمة أدناه وتعطيل معظم الخدمات المذكورة بنفسك دون ألم.

الاستنتاجات

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

على أية حال، إليك شبكة أمان أخرى لك. يتم تخزين جميع إعدادات الخدمة تقريبًا في: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services. لحماية نفسك من الأخطاء المحتملة، قبل البدء في تحرير معلمات الخدمة، قم بتصدير هذا الفرع (قائمة السياق - تصدير) إلى ملف reg لتتمكن من استعادة كل شيء كما كان بسرعة.

إعدادات ناجحة وتشغيل سريع لجهاز الكمبيوتر الخاص بك!

ملاحظة: يُمنح الإذن بنسخ هذه المقالة واقتباسها بحرية، بشرط الإشارة إلى رابط نشط مفتوح للمصدر والحفاظ على تأليف رسلان تيرتيشني.