بناء الأتمتة باستخدام PowerShell قد يبدو مرهقًا في البداية، ولكن مثل أي مهمة عظيمة، الأمر يتعلق بالتقدم خطوة بخطوة. تخيل PowerShell كمجموعة من القطع الأساسية للبناء، حيث تعتبر الوحدات الأساس التي تضفي على وظائفه حيوية.
في هذه المقالة، ستكتشف ما هي وحدات PowerShell، كيفية العثور عليها، وكيفية استخدامها لتعزيز مهام الأتمتة الخاصة بك. من إدارة الآلات الافتراضية إلى الاتصال بخدمات السحابة أو أتمتة Active Directory، تجعل الوحدات كل هذا ممكنًا.
تابع لاستكشاف الإمكانات الكاملة لـ PowerShell ومعالجة مهامك بدقة!
اكتشاف الوحدات المتاحة في PowerShell
الوحدات في PowerShell هي القطع الأساسية الضرورية التي توسع وظائفه. ومع ذلك، ليس جميع الوحدات تحمل تلقائيًا إلى جلسة العمل—فغالبًا ما تبقى على نظامك، في انتظار اكتشافها.
لاستكشاف الوحدات المثبتة على نظامك، استخدم أمر Get-Module
:
Get-Module
قد تلاحظ قائمة قصيرة من الوحدات. السبب في ذلك هو أن Get-Module
يعرض فقط الوحدات المستوردة بالفعل إلى جلستك.
لرؤية جميع الوحدات المتاحة على نظامك، بما في ذلك تلك التي لم يتم تحميلها بعد، أضف معلمة -ListAvailable
:
Get-Module -ListAvailable
يعرض هذا الأمر جميع الوحدات المتاحة على نظامك، سواء تم تحميلها في الذاكرة أم لا. يقوم PowerShell تلقائيًا بتحميل الوحدات عند استخدام الأوامر منها، لذا عادةً ما لا تحتاج إلى تحميلها يدويًا.
يمكن أن تكون الوحدات من أنواع مختلفة—نصية، ثنائية، أو دليل.
لتجميع الوحدات حسب النوع لتسهيل التفتيش، جرب هذا:
gmo -ListAvailable | group ModuleType
هنا، تستخدم الاختصارات للراحة.
على سبيل المثال، gmo
هو اختصار لـ Get-Module
، وgroup
هو اختصار لـ Group-Object
. الاختصارات توفر الوقت عند تشغيل الأوامر في واجهة الأوامر.
كشف إصدارات الوحدات وتفاصيل الأوامر
تحتوي كل وحدة على إصدار يمثل مجموعة الميزات الخاصة بها أو التغييرات مع مرور الوقت. يسمح الترقيم بإدارة التحديثات أو الرجوع إلى إصدار سابق إذا لزم الأمر.
تحتوي الوحدات أيضًا على أوامر يمكن الوصول إليها عبر خاصية ExportedCommands
.
لرؤية الأوامر في وحدة Microsoft.PowerShell.Management
، قم بتشغيل:
gmo Microsoft.PowerShell.Management | Select-ExpandProperty ExportedCommands
هذا الأمر يعرض قائمة الأوامر المتاحة في الوحدة.
العثور على دلائل الوحدات
الوحدات لا تعمل بشكل سحري في باورشيل—إنها تعيش في دلائل محددة على نظامك، ويحتاج باورشيل إلى معرفة موقعها.
لعرض مواقع الوحدات في باورشيل المتاحة:
gmo -list
المواقع الشائعة تتضمن:
- C:\Program Files\PowerShell\7\Modules
- C:\Program Files\WindowsPowerShell\Modules
- C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
حتى عند تشغيل باورشيل الأساسية، قد تظهر وحدات من دلائل باورشيل ويندوز لأن باورشيل الأساسية يمكنها استخدامها.
تحتوي الوحدات على فئات مخصصة حسب خاصية PSEdition
، التي تشير إلى التوافق:
Core
– مصممة لباورشيل الأساسية.Desk
– مصمم لـ Windows PowerShell.Both
– متوافق مع كلتا النسختين.
إدارة متغير PSModulePath
لا يبحث PowerShell تلقائيًا في النظام بأكمله عن الوحدات النمطية – بل يعتمد على مسارات محددة محددة بواسطة المتغير البيئي PSModulePath
. إذا لم تكن الوحدة النمطية في أحد هذه المسارات، فلن يجدها PowerShell، حتى إذا كان النظام/أنت قد قمت بتثبيتها في مكان آخر.
لعرض المتغير البيئي PSModulePath
:
$env:PSModulePath
المتغير يحتوي على قائمة منفصلة بفاصلة من الدلائل.
لتسهيل القراءة، قم بتقسيمه إلى مصفوفة:
$env:PSModulePath -split ';'
يبحث PowerShell عن الوحدات النمطية في:
- المجلدات على مستوى المستخدم (على سبيل المثال، مجلد Documents في ملف المستخدم).
- المجلدات المشتركة في مجلد Program Files.
- المجلدات على مستوى النظام، مثل C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules.
يمكنك أيضًا إضافة مجلدات مخصصة إلى مسار البحث:
$env:PSModulePath + ';C:\MyNewModulePath' $env:PSModulePath
هذا التغيير ينطبق على الجلسة الحالية، موجهًا PowerShell للبحث عن الوحدات النمطية في المسار المحدد.
الاستنتاج
في هذه المقالة، استكشفت كيفية اكتشاف الوحدات النمطية المتاحة، عرض إصداراتها، تفحص أوامرها، وتحديد مجلدات تخزينها. كما تعلمت كيفية استغلال المتغير البيئي PSModulePath
لتخصيص مكان بحث PowerShell عن الوحدات النمطية.
هذه المهارات الأساسية تمكنك من استخدام كامل إمكانيات PowerShell لمهام التشغيل التلقائي الخاصة بك. استمر في تطبيق هذه المعرفة. ابدأ باستكشاف الوحدات المتاحة بالفعل على نظامك وتحديد تلك التي تناسب احتياجاتك الحالية.
بفهم أعمق للوحدات، ستكون جاهزًا لمواجهة تحديات التشغيل التلقائي المعقدة بثقة وكفاءة!
Source:
https://adamtheautomator.com/powershell-modules-guide/