تحتاج إلى مراقبة حمامات التطبيق على خادم ويب IIS الخاص بك؟ إليك دليل حول كيفية إنشاء حمام تطبيق في IIS باستخدام PowerShell.
إلى أين تتجه عند إدارة مزرعة خوادم ويب IIS بمئات أو ربما عشرات من حمامات التطبيق؟ بالطبع، بواسطة نصوص PowerShell! باستخدام وحدة WebAdministrationPowerShell التي تأتي مثبتة كجزء من IIS وقليلاً من PowerShell البعيد، يمكنك بسهولة إنشاء وتعديل وإزالة حمامات التطبيق كما تشاء.
لنقم بمراجعة بعض الأمثلة على كيفية تحقيق ذلك.
إذا لم تستخدم PowerShell أبدًا لإدارة خوادم IIS الخاصة بك من قبل، قد يكون انطباعك الأول هو البحث عن ComputerName
في معظم الأوامر النصية. للأسف، هذا ليس الحال.
لإدارة خوادم IIS عن بُعد، نضطر إلى استخدام البرمجة النصية البعيدة في PowerShell مع أمر Invoke-Command
. على الرغم من أن هذا ليس أمرًا لا يمكن تحمله، إلا أنه يجعل الشيفرة أكثر تفصيلًا قليلاً مما ينبغي. ليس لتثبيتك عن إدارة خوادم IIS عن بُعد بواسطة PowerShell، ولكن هذا هو إشعار.
متعلق: Invoke-Command: أفضل طريقة لتشغيل كود عن بُعد
I know I was pretty frustrated the first time I tried this and didn’t see that familiar ComputerName
parameter on many of the cmdlets.
ملاحظة: فيما يلي، سنقوم ببناء الشيفرة لإدخالها في كتلة نصية. ثم سنستخدم
Invoke-Command
لتنفيذ هذه الكتلة النصية على خادم IIS البعيد.
عرض حمامات التطبيق في IIS باستخدام PowerShell
لإدارة حمامات تطبيقات الويب ، سنحتاج أولاً إلى استيراد وحدة WebAdministration.
يتيح ذلك استخدام جميع أوامر IIS وإنشاء محرك IIS. هنا سيتم إجراء معظم تكوين حمام التطبيقات. دعونا نتحقق أولاً مما إذا كانت هناك حمامات تطبيقات موجودة بالفعل.
إنشاء حمامات تطبيقات IIS جديدة باستخدام PowerShell
يبدو أن لدي حمامًا واحدًا يسمى GHI بالفعل. ربما أريد إنشاء آخر. يجعل استخدام محرك IIS هذا أمرًا سهلاً. ما عليك سوى استخدام New-Item
وتحديد المسار.
تفحص وتعديل خصائص حمام التطبيقات
I’ve now created a new app pool. We can then check all of the properties on that app pool using Get-ItemProperty
and select all of the properties it returns with Select-Object
. This will return all of the property names and values so you can get figure out which ones you need to modify with Set-ItemProperty
.
الآن بعد أن لديك حمام تطبيقات ويمكنك رؤية الخصائص ، دعنا نعدل خاصية. ربما أريد استخدام إصدار معين من .NET مع حمام التطبيقات. مرة أخرى باستخدام محرك IIS ، يمكنني استخدام Set-ItemProperty
لإدارة حمامات التطبيقات مثلما يمكنني فعله مع نظام الملفات وسجل النظام والشهادات وجميع الأشياء الأخرى التي تحتوي على محرك PowerShell.
باستخدام Set-ItemProperty
يمكنك تعديل معظم الخصائص لحمام التطبيقات.
إزالة حمامات التطبيقات باستخدام PowerShell
أخيرًا ، انتهينا من حمام التطبيقات الخاص بنا ونحتاج الآن إلى إزالته. هذه المرة لدينا cmdlet مدمج في PowerShell يسمى Remove-WebAppPool
. حدد الاسم ببساطة ، وسيتم إزالته!
جميع هذا الكود الذي استخدمناه تم تنفيذه محليًا ولكن ماذا لو كنت بحاجة لتشغيله على خادم IIS عن بُعد؟ هنا يأتي دور التحكم عن بُعد في PowerShell. للقيام بذلك، سنحتاج ببساطة إلى ربط كل هذا الكود في مجموعة أوامر ومن ثم استخدام Invoke-Command
لتنفيذه على الخادم البعيد.
على الرغم من عدم فعالية هذا الكود كثيرًا، إلا أنه سينشئ حوض تطبيق جديد بالاسم MyAppPool، ويعين خاصية ثم يقوم بإزالتها. ستلاحظ أنني استخدمت متغير $using
. نظرًا لأن الكود في مجموعة الأوامر سيتم تنفيذه على كمبيوتر بعيد، فإن هذا ضروري لتوسيع تلك المتغيرات بواسطة PowerShell واستخدام القيمة الفعلية لمتغير $appPoolName
الذي تم تعريفه محليًا على كمبيوتر العميل.
إذا كنت ترغب في معرفة المزيد حول إدارة IIS بشكل عام، تفضل بزيارة صفحة إدارة IIS على تقنية المعلومات. هنا ستجد جميع الأوامر المضمنة في وحدة WebAdministration وكيف يمكنك استخدامها.