الصفحة الرئيسية » howto » Geek School تعلم كيفية توسيع نطاق PowerShell

    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 اتصال

    إذا قمت بفحص الوحدات المحملّة مرةً أخرى ، فسترى أنّها حمّلت الوحدة بالفعل.

    هذا كل شيء بالنسبة إلى شباب اليوم ، انضم إلينا غدًا للمزيد.