بالتأكيد، لنبدأ.
يعمل Powershell، وهو إطار عمل قوي لأتمتة المهام وإدارة التكوين من Microsoft، على تسهيل مهمة مسؤول النظام بشكل كبير. مع ظهور لغة البرمجة النصية Powershell بالإضافة إلى أوامر cmdlets الخاصة بها، يتم تزويد المستخدمين بوصول غني إلى مخزن البيانات. أحد هذه الاستخدامات لـ PowerShell هو التحقق من المنافذ المستخدمة على النظام. المنافذ هي نقاط نهاية الاتصال الخاصة بالجهاز، ولكل منفذ رقم منفذ محدد.
# PowerShell Script to list all the TCP/IP ports which are being used on your local system
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Function Test-PortInUse {
Param(
[Parameter(Mandatory = $true)]
[int]$StartPort,
[Parameter(Mandatory = $true)]
[int]$EndPort
)
ForEach ($i in ($StartPort..$EndPort)){
$connection = Test-NetConnection -ComputerName LocalHost -Port $i
if ($connection.TcpTestSucceeded){
$i
}
}
}
# This will test all ports between 20 and 25
Test-PortInUse 20 25
يعمل البرنامج النصي ضمن وظيفة، Test-PortInUse، التي تقبل معلمتين، رقم منفذ البداية، ورقم منفذ النهاية. تتكرر الدالة ($StartPort..$EndPort) بين نطاقات المنافذ المتوفرة، لكل رقم منفذ، ثم تقوم بتشغيل Test-NetConnection cmdlet على المضيف المحلي لذلك المنفذ.
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser – هذا الأمر مطلوب لتشغيل البرامج النصية لـ PowerShell، ويقوم بتغيير تفضيل المستخدم لسياسة تنفيذ PowerShell.
يعرض أمر Test-NetConnection cmdlet معلومات تشخيصية للاتصال. أخذ LocalHost كمعلمات - والذي يشير إلى الجهاز المحلي والمنفذ - للإشارة إلى المنفذ الذي سيتم اختباره؛ يتحقق مما إذا كان من الممكن إجراء اتصال بهذا المنفذ.
البرمجة النصية بوويرشيل
البرمجة النصية بوويرشيل عبارة عن نظام أساسي متعدد الاستخدامات تم تطويره بواسطة Microsoft لبيئة Windows الخاصة بها. توفر هذه اللغة الديناميكية مجموعة من الأدوات المساعدة بمجرد إخراجها من الصندوق. إحدى هذه الأدوات المساعدة التي نستخدمها هي Test-NetConnection cmdlet. توفر هذه الأداة المساعدة طريقة بسيطة لإجراء مجموعة متنوعة من اختبارات الشبكة التي يمكن كتابتها وتشغيلها آليًا، وهي مثالية للمسؤولين الذين يديرون الشبكات الكبيرة.
أهمية إدارة الموانئ
إدارة الموانئ هي أساسي مهمة مسؤولي تكنولوجيا المعلومات، وDevOps، ومحترفي الأمان، حيث يمكن أن تكون المنافذ المفتوحة والضعيفة مجالات خطر محتملة. تصبح القدرة على عرض المنافذ ومراقبتها واختبارها وإغلاقها عند الطلب مهارة مهمة، إن لم تكن ضرورية. يمكن أن تلعب البرامج النصية لـ PowerShell دورًا محوريًا في أتمتة هذه المهام، كما تعمل أوامر cmdlets الخاصة بـ PowerShell على تبسيط العملية.
كيف يعمل الأمر cmdlet الخاص بـ Test-NetConnection
Test-NetConnection هو أمر cmdlet يعرض واجهة cmdlet عميقة قابلة للبرمجة للعديد من واجهات تشخيص الشبكة التي تكشفها أنظمة التشغيل. يتألق أمر cmdlet بشكل خاص عندما يتعلق الأمر باختبار خدمة معينة داخل الخادم، أو لاختبار زمن وصول الشبكة للاتصال بين المصدر والوجهة، سواء كان TCP أو ICMP.
تعد المعلومات المقدمة بواسطة أمر cmdlet هذا مفيدة بشكل خاص عند محاولة تحديد المنافذ المفتوحة وعرض أنواع الاتصالات التي يمتلكها الجهاز مع الشبكة.
في الختام، يوفر Powershell، جنبًا إلى جنب مع أوامر cmdlets المختلفة مثل Test-NetConnection، إمكانات متنوعة تساعد بشكل كبير في إدارة الشبكة والمنافذ، مما يسمح بأتمتة وإدارة مثل هذه المهام بكفاءة وفعالية.