ما هو اختبار البنية التحتية وكيف نفعل ذلك مع PowerShell

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

إذا كنا نقوم بتشغيل برنامج نصي لإدارة حسابات المستخدم يقوم بإنشاء مستخدم AD (Active Directory) أو صندوق بريد Exchange أو مجلد رئيسي ، فكيف نعرف حقًا أن هذا البرنامج النصي قام بكل ما كان من المفترض أن يفعله؟ نحن لا. يمكن أن نلاحظ أنه لم يتم إلقاء خطأ والتحقق الفوري من الأشياء بعد ذلك. ولكن إذا كان النص البرمجي يغطي 1000 مستخدم ، فلا توجد طريقة يمكن تحقيقها. نحن بحاجة إلى استخدام أتمتة الاختبار أيضًا!

ما هو اختبار البنية التحتية؟

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

تتضمن بعض أمثلة اختبار البنية التحتية ما يلي:

  • "هل تم إنشاء مستخدم AD بالسمات الصحيحة؟"
  • "هل يستجيب المنفذ 80 على خادم الويب الخاص بي؟"
  • "هل خدمة DHCP قيد التشغيل؟"

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

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

اختبار منفذ الشبكة

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

بمجرد تنزيله ، ما عليك سوى الاتصال به باستخدام اختبار NetworkPort.ps1 وتمرير اسم الكمبيوتر والمنفذ للاختبار.

PS > Test-NetworkPort.ps1 -ComputerName DC -Port 389
 True
 

بناءً على ما إذا كان المنفذ يستمع أم لا ، سيعيد هذا البرنامج النصي True أو False. يمكنك استكشاف معلمات أخرى لهذا البرنامج النصي من خلال قراءة المساعدة المرتبطة به عبر Get-Help Test-NetworkPort.ps1.

يؤدي هذا البرنامج النصي أ اختبار على ال بنية تحتية الاستماع على منفذ معين.

اختبار تحليل اسم DNS

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

كما هو الحال مع مثال اختبار المنفذ الخاص بنا ، يمكننا أيضًا تنزيل هذا البرنامج النصي من معرض PowerShell أيضًا عبر Install-Script -Name Test-DnsNameResolution.

عند اكتمال التنزيل ، اتصل ببساطة اختبار DnsNameResolution.ps1 بالاسم وخادم DNS الذي ترغب في الاستعلام عنه.

PS> Test-DnsNameResolution.ps1 -Name DC.mylab.local -Server DC
 False
 

إذا أعاد النص النصي True ، فإن خادم DNS العاصمة يمكن حل اسم DC.mylab.local. إذا لم يكن الأمر كذلك ، لكان قد أعاد خطأ.

استنتاج

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

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

لا تستمر في التأكيد يدويًا على عمل البنية الأساسية كما تتوقع. احصل على بناء بعض البرامج النصية PowerShell وأتمتة تلك العمليات الدنيوية بالنسبة لك!

مقالات ذات صلة

Back to top button