استخدام العبارة في بوويرشيل

Astkhdam Al Bart Fy Bwwyrshyl



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

ستستكشف هذه المقالة الجوانب المختلفة لعبارة 'استخدام' في PowerShell ، بما في ذلك تركيبها والغرض منها والتطبيقات العملية.







الغرض من بيان 'استخدام'

تتيح لك عبارة 'using' تحديد مساحات الأسماء المستخدمة في الجلسة. من خلال إضافة مساحات الأسماء ، يمكنك استيراد فئات من وحدات البرامج النصية والتجمعات وتبسيط استخدام فئات وأعضاء .NET.



واجبات بيان 'استخدام'

  • يجب أن تظهر عبارة 'using' قبل أية عبارات نصية أو وحدة نمطية أخرى. لا يمكن أن يسبقها أي عبارات غير معلّقة ، بما في ذلك المعلمات.
  • يجب ألا تكون أي متغيرات موجودة في عبارة 'using'.
  • يجب عدم الخلط بين عبارة 'استخدام' ومعدّل نطاق المتغيرات 'using:'. كلاهما مختلفان في الغرض والمعنى.

بناء جملة 'استخدام' بيان



صيغة العبارة 'using' هي:





باستخدام مساحة الاسم < .NET- مساحة الاسم >

دعونا نلقي نظرة عامة على المثال التالي:



باستخدام نظام مساحة الاسم

بايت = [ ملف ] :: ReadAllBytes ( 'D: \ c sharp \ Linuxhint1.txt' )
[ معلومات الملف ] ::جديد ( 'D: \ c sharp \ Linuxhint1.txt' )

في الكود أعلاه ، قمنا أولاً بتعيين مساحة الاسم 'System.IO'. السطر الثاني من البرنامج ، [File] :: ReadAllBytes ('D: c sharpLinuxhint1.txt') ، يقرأ كل بايت من الملف الموفر ويضعها في المتغير $ Bytes. في السطر الثالث ، ينشئ [FileInfo] :: new ('D: c sharpLinuxhint1.txt') مثيلًا جديدًا لفئة FileInfo ويعيد كائن FileInfo.

بيان 'استخدام' للوحدات النمطية

يمكننا أيضًا استخدام عبارة 'using' لتحميل فئات الوحدة.

بناء الجملة

باستخدام الوحدة < اسم وحدة >

في بناء الجملة هذا ، يمكن استخدام '' ، أو مواصفات وحدة نمطية كاملة ، أو مسار لملف وحدة نمطية كقيمة لـ 'اسم الوحدة النمطية'.

يمكنك استخدام مسار مؤهل بالكامل أو نسبي عندما يكون 'اسم الوحدة النمطية>' مسارًا. عند وجود عبارة 'using' في البرنامج النصي ، يتم حل المسار النسبي في هذا البرنامج النصي.

يبحث PowerShell عن الوحدة النمطية المتوفرة في PSModulePath عندما يكون '' اسمًا أو مواصفات الوحدة النمطية. تشكل المفاتيح التالية علامة التجزئة التي تعد من مواصفات الوحدة:

اسم وحدة - مطلوب. يسمي الوحدة المعنية.

GUID اختياري - يحدد GUID للوحدة النمطية.

بالإضافة إلى ذلك ، يجب عليك تحديد أحد المفاتيح الثلاثة المدرجة أدناه.

الإصدار - يتم تحديد الحد الأدنى من الإصدار المسموح به من الوحدة عن طريق خاصية 'ModuleVersion'.

أقصى إصدار - يحدد أعلى إصدار مسموح به للوحدة النمطية.

الإصدار المطلوب - يحدد الإصدار الدقيق والضروري للوحدة باستخدام 'RequiredVersion'. لا يمكن استخدام مفاتيح الإصدار الأخرى مع هذا.

يتم استيراد الوحدة النمطية الجذر (ModuleToProcess) للوحدة النمطية الثنائية أو وحدة البرنامج النصي بواسطة إعلان الوحدة النمطية 'using'. لا يتم استيراد الفئات المحددة في الوحدات النمطية المتداخلة أو البرامج النصية التي تم الحصول عليها من مصدر نقطة في الوحدة النمطية بشكل موثوق. يجب تحديد أي فئات تريد إتاحتها للمستخدمين خارج الوحدة النمطية في الوحدة النمطية الجذر.

هذا مثال:

باستخدام وحدة PSReadline

بيان 'استخدام' للتجميع

يمكن أيضًا استخدام عبارة 'using' لتحميل الأنواع مسبقًا من تجميع .NET.

بناء الجملة

باستخدام التجميع < NET- مسار التجميع >

في بناء الجملة هذا ، عند تحميل تجميع ، يتم تحميل أنواع .NET من هذا التجميع مسبقًا في البرنامج النصي قبل تحليله. نتيجة لذلك ، من الممكن تطوير فئات PowerShell جديدة تستفيد من أنواع التجميع المحملة مسبقًا.

انظر إلى مثال لتطبيق عبارة 'using' مع 'تجميع':

باستخدام التجميع System.Windows.Forms

في هذا الأمر ، قمنا بتحميل التجميع ' System.Windows.Forms ' في PowerShell باستخدام عبارة 'using'.

عبارة 'using' لمفاتيح Hashtable

' جداول تجزئة 'هي هياكل بيانات قابلة للتكيف مستخدمة في PowerShell لمجموعة متنوعة من الأغراض ، بما في ذلك تخزين بيانات التكوين ، وتوفير وسيطات لأوامر أوامر cmdlets ، وتخزين البيانات في البرامج النصية.

تجزئة التشفير للسلسلة ' LinuxHint! 'عبر البرنامج النصي التالي:

باستخدام مساحة الاسم System.Text
باستخدام نظام مساحة الاسم [ خيط ] سلسلة $ = 'LinuxHint!'
[ خيط ] الخوارزمية = 'SHA1'

[ بايت [ ] ] سلسلة بايت $ = [ الترميز ] :: Unicode.GetBytes ( سلسلة $ )

[ تدفق ] ميموري ستريم = [ MemoryStream ] ::جديد ( سلسلة بايت $ )
hashfromstream $ = Get-FileHash -تيار الإدخال ميموري ستريم '
-الخوارزمية الخوارزمية
hashfromstream $ . تجزئة. إلى سلسلة ( )

يبدأ رمز PowerShell أعلاه باستيراد مساحات الأسماء المطلوبة لعمليات الملف وترميزه. سلسلة الإدخال وخوارزمية التجزئة (في هذه الحالة ' SHA1 ') ، ثم يتم تعريفها. ثم يتم ترميز سلسلة الإدخال باستخدام ' يونيكود 'لإنشاء مصفوفة من البايت.

ثم يتم استخدام محتوى مصفوفة البايت لبناء ' Memorystream '. يتم حساب قيمة التجزئة من تدفق الذاكرة باستخدام خوارزمية 'SHA1' المقدمة بواسطة ' الحصول على FileHash 'cmdlet. ينتهي البرنامج النصي بطباعة قيمة التجزئة التي تم الحصول عليها كسلسلة في الإخراج.

انتاج |

خاتمة

ال ' استخدام 'عبارة' في PowerShell هي أداة قوية لتحديد مساحات الأسماء أو الوحدات النمطية أو التجميعات. يوفر بناء الجملة والغرض منهجًا موحدًا وآمنًا للتعامل مع الموارد ، وتسهيل التخلص السليم ، وتقليل تكرار الكود.