Geek School تعلم كيفية توسيع نطاق PowerShell
يوفر PowerShell طريقتين لتمديد shell. يمكنك إما استخدام snapins ، وهي ثنائية فقط وتم تطويرها بلغة برمجة كاملة مثل C # ، أو يمكنك استخدام وحدات ، والتي يمكن أن تكون ثنائية بالإضافة إلى برنامج نصي.
تأكد من قراءة المقالات السابقة في السلسلة:
- تعلم كيفية أتمتة ويندوز مع PowerShell
- تعلم استخدام Cmdlets في PowerShell
- تعلم كيفية استخدام الكائنات في PowerShell
- تعلم تنسيق وتصفية ومقارنة في PowerShell
- تعلم كيفية استخدام الاتصال عن بعد في PowerShell
- استخدام PowerShell للحصول على معلومات الكمبيوتر
- العمل مع مجموعات في PowerShell
وتنبقي لبقية المسلسل طوال الأسبوع.
Snapins
Snapins حتى العام الماضي. جميع النكات جانبا ، لم يتم التقاط snapins حقا بين مجتمع PowerShell لأن معظم البرامج النصية ليست مطورين ويمكنك فقط كتابة snapins بلغة مثل C #. ومع ذلك ، لا تزال هناك بعض المنتجات التي تستخدم Snapins ، مثل Web Deploy على سبيل المثال. لمعرفة ما هي السناجات المتوفرة لك في shell ، استخدم الأمر التالي:
الحصول على PSSnapin - مسجلة
لاستخدام الأوامر المضافة بواسطة snapin ، تحتاج أولاً إلى استيرادها إلى جلسة العمل ، ويمكنك القيام بذلك على النحو التالي:
Add-PSSnapin -Name WDeploySnapin3.0
في هذه المرحلة ، ستحصل على خطأ إذا لم يكن لديك تثبيت ويب نشر snapin. إذا قمت بتثبيته ، كما أفعل ، فسيتم استيراده إلى جلسة العمل الخاصة بك. للحصول على قائمة بالأوامر المتاحة في snapin ، يمكنك ببساطة استخدام أمر cmdlet:
Get-Command -Module WDeploy *
ملاحظة: من الناحية الفنية ، هذه ليست وحدة نمطية ، ولكن لسبب ما ، لا يزال عليك استخدام معلمة الوحدة النمطية.
وحدات
الوحدات النمطية هي أحدث وهي الطريق إلى الأمام. يمكن كتابتها باستخدام PowerShell بالإضافة إلى ترميزها بلغة مثل C #. يتم تنظيم معظم الأوامر المضمنة في الوحدات أيضًا. للاطلاع على قائمة بالوحدات النمطية على نظامك ، يمكنك استخدام الأمر التالي:
Get-Module -ListAvailable
عند تحديث المنتجات ، يتم ترحيل نظرائهم في PowerShell إلى وحدات. على سبيل المثال ، يستخدم SQL في الحصول على snapin ، ولكنه يتكون الآن من الوحدات النمطية.
لاستخدام وحدة نمطية ، يجب عليك استيرادها أولاً.
استيراد الوحدة النمطية - اسم SQLASCMDLETS
يمكنك استخدام نفس الخدعة التي استخدمناها مع snapins لعرض جميع الأوامر التي أضافتها الوحدة إلى shell.
بحيث يترك السؤال: كيف تعرف PowerShell ما هي السناجات والوحدات التي لديك على نظامك؟ حسنا ، snapins هي جزء من الألم ويجب تركيبها. يتضمن جزء من عملية التثبيت إنشاء بعض إدخالات التسجيل التي يبحث عنها PowerShell للعثور على معلومات snapin. الوحدات النمطية ، من ناحية أخرى ، يمكن تسجيلها مع shell ببساطة عن طريق وضعها في أحد المواقع في متغير بيئة PSModulePath. بدلاً من ذلك ، يمكنك فقط إضافة المسار إلى الوحدة النمطية إلى متغير البيئة.
($ الحياة الفطرية: PSModulePath) .Split ( "؛")
سوف يبصقون محتويات المتغير. لاحظ أنه إذا كان لديك وحدة نمطية مثل SQL مثبتة ، فقم بتعديل المتغير لتضمين موقع الوحدة النمطية لـ SQL.
وحدة التحميل التلقائي
لقد أدخلت PowerShell 3 ميزة جديدة رائعة والتي تأتي من عدد قليل من الأسماء. لا أحد منهم رسمي ، ولكن "وحدة التحميل التلقائي" هو أفضل وصف لها. بشكل أساسي ، يتيح لك استخدام أوامر cmdlets التي تنتمي إلى وحدة نمطية خارجية بدون استيراد الوحدة النمطية بوضوح باستخدام الأمر cmdlet لـ Import-Module. لرؤية هذا ، قم أولاً بإزالة كافة الوحدات من shell الخاص بك باستخدام الأمر التالي:
الحصول على وحدة إزالة وحدة
يمكنك بعد ذلك التحقق من عدم وجود وحدات نمطية تم تحميلها باستخدام ما يلي:
الحصول على وحدة
استخدم الآن أمر cmdlet غير موجود في المكتبة الأساسية. اختبار الاتصال هو واحد جيد:
اختبار localhost اتصال
إذا قمت بفحص الوحدات المحملّة مرةً أخرى ، فسترى أنّها حمّلت الوحدة بالفعل.
هذا كل شيء بالنسبة إلى شباب اليوم ، انضم إلينا غدًا للمزيد.