برنامج Powershell التعليمي للمبتدئين: تعلم البرمجة النصية لـ Powershell
ما هو PowerShell؟
Windows بوويرشيل هو محرك أتمتة موجه للكائنات ولغة برمجة نصية. وهو مصمم بشكل أساسي لمحترفي تكنولوجيا المعلومات ومسؤولي النظام للتحكم في الإدارة وأتمتتها Windows أنظمة التشغيل والتطبيقات الأخرى. فهو يوفر مفاهيم جديدة مقنعة لتوسيع المعرفة التي اكتسبتها والبرامج النصية التي أنشأتها داخل Windows موجه الأوامر و Windows البيئات المضيفة للبرنامج النصي.
يجمع هذا البرنامج بين مرونة البرمجة النصية وسرعة سطر الأوامر وقوة أداة الإدارة المستندة إلى واجهة المستخدم الرسومية. ويتيح لك حل المشكلات بكفاءة من خلال مساعدة مسؤول النظام على التخلص من ساعات العمل اليدوي في المستقبل. وسنتناول جميع الجوانب المهمة التي يجب أن تعرفها لتعلم PowerShell.
هذا دليل كامل لأساسيات البرمجة النصية لـ Powershell... فلنبدأ!
لماذا استخدام بوويرشيل؟
فيما يلي بعض الأسباب المهمة لاستخدام Powershell:
- يوفر Powershell تجربة سطر أوامر متكاملة جيدًا لنظام التشغيل
- يتيح PowerShell الوصول الكامل إلى كافة الأنواع الموجودة في إطار عمل .NET
- موثوق به من قبل مسؤولي النظام.
- يعد PowerShell طريقة بسيطة للتعامل مع مكونات الخادم ومحطة العمل
- إنها موجهة نحو مسؤولي النظام من خلال إنشاء بنية أكثر سهولة
- يعد PowerShell أكثر أمانًا من التشغيل فبسكريبت أو لغات البرمجة النصية الأخرى
تاريخ بوويرشيل
تم إصدار الإصدار الأول من PowerShell 1.0 في عام 2006. واليوم، أصبح PowerShell في الإصدار 7.2. مع مرور العام والإصدار، نمت قدرات PowerShell وبيئات الاستضافة بشكل ملحوظ.
دعونا نرى تاريخ إصدار PowerShell:
- يدعم PowerShell الإصدار 1 الإدارة المحلية لـ Windows خادم 2003
- تم دمج PowerShell 2.0 مع Windows و7 Windows خادم 2008 R2. يدعم هذا الإصدار الاتصال عن بُعد ويعزز قدرات PowerShell مثل المعاملات ومهام الخلفية والأحداث وتصحيح الأخطاء وما إلى ذلك.
- تم إصدار PowerShell 3.0 كجزء داخلي من برنامج Windows إطار الإدارة. تم تثبيته على Windows و8 Windows Server 2012. يمكنك إضافة المهام المجدولة، واتصال الجلسة، والتحميل التلقائي للوحدة، وما إلى ذلك.
- تم شحن PowerShell 4.0 مع Windows و8.1 Windows خادم 2012 R2. تمت إضافة دعم في هذا الإصدار لتكوين الحالة المطلوبة وتصحيح الأخطاء المحسن وتشخيص الشبكة.
- تم إصدار PowerShell 5.0 كجزء داخلي من Windows إطار الإدارة 5. الميزات المقدمة في هذا الإصدار هي تصحيح الأخطاء عن بعد، وتعريفات الفئة، وتعدادات .NET، وما إلى ذلك.
- تم إصدار PowerShell 7.2. وهو مبني على .NET 6.0. يوفر هذا الإصدار مشغلات جديدة، وعرضًا مبسطًا وديناميكيًا للأخطاء، وإشعارات تلقائية بالإصدارات الجديدة، وما إلى ذلك.
بعد ذلك، في هذا البرنامج التعليمي للبرمجة النصية لـ Powershell، سنتعرف على ميزات Powershell.
مميزات بوويرشيل
- PowerShell عن بُعد: يسمح PowerShell باستدعاء البرامج النصية وأوامر الأوامر cmdlets على جهاز بعيد.
- وظائف الخلفية:يساعدك على استدعاء البرنامج النصي أو خط الأنابيب بشكل غير متزامن. يمكنك تشغيل مهامك إما على الجهاز المحلي أو على أجهزة متعددة يتم تشغيلها عن بُعد.
- المعاملات: تمكين cmdlet ويسمح للمطورين بأداء
- مساء: يساعدك هذا الأمر على الاستماع إلى أحداث الإدارة والنظام وإعادة توجيهها والتصرف فيها.
- نقل ملفات الشبكة: يوفر Powershell دعمًا أصليًا لنقل الملفات ذات الأولوية، بشكل غير متزامن، وخاضع للرقابة بين الأجهزة باستخدام تقنية خدمة النقل الذكي في الخلفية (BITS).
كيفية تشغيل بوويرشيل
الآن في هذا البرنامج التعليمي لبرنامج Powershell النصي، سنتعلم كيفية تشغيل Powershell Windows OS.
تم تثبيت PowerShell مسبقًا في كافة الإصدارات الأحدث من Windows. نحتاج إلى تشغيل PowerShell لذلك نحتاج إلى اتباع الخطوات المحددة:
الخطوة 1) ابحث عن PowerShell في Windows. حدد وانقر
الخطوة 2) يتم فتح نافذة Power Shell
أمر بوويرشيل
إن أمر cmdlet الذي يُسمى أيضًا Command Let هو أمر خفيف الوزن يُستخدم في بيئة PowerShell الأساسية لـ Window. يقوم PowerShell باستدعاء أوامر cmdlets هذه في موجه الأوامر. يمكنك إنشاء واستدعاء أمر cmdlets باستخدام PowerShell APIS.
أمر Cmdlet مقابل الأمر
تختلف أدوات cmdlets عن الأوامر الموجودة في بيئات shell الأوامر الأخرى في الطرق التالية:
- أوامر الأوامر هي الإطار. NET كائنات الفئة لا يمكن تنفيذها بشكل منفصل
- يمكن لأوامر Cmdlets إنشاء ما يصل إلى عشرة أسطر من التعليمات البرمجية
- لا تتم معالجة التحليل وتنسيق الإخراج وعرض الأخطاء بواسطة أوامر cmdlets
- تعمل عملية أوامر cmdlets على الكائنات. لذلك لا يمكن تمرير دفق النص والكائنات كمخرجات لخطوط الأنابيب
- تعتمد أوامر cmdlets على السجلات لأنها تعالج كائنًا واحدًا في كل مرة
تأتي معظم وظائف PowerShell من أمر Cmdlet الذي يكون دائمًا بتنسيق الفعل والاسم وليس بصيغة الجمع. علاوة على ذلك، فإن الكائنات التي تُرجعها Cmdlet ليست نصية. أمر cmdlet عبارة عن سلسلة من الأوامر، وهي عبارة عن أكثر من سطر واحد، مخزنة في ملف نصي بامتداد .ps1.
يتكون أمر cmdlet دائمًا من فعل واسم، مفصولين بواصلة. بعض الأفعال التي تستخدمها لتعلم PowerShell هي:
- تواصل - لتحصل على شيء
- آبدأ - لتشغيل شيء ما
- خارج - لإخراج شيء ما
- قلة النوم - لإيقاف شيء قيد التشغيل
- بكيج - لتحديد شيء ما
- جديد - لإنشاء شيء ما
أوامر بوويرشيل
فيما يلي قائمة بأوامر PowerShell المهمة:
احصل على مساعدة: تعليمات حول أوامر وموضوعات PowerShell
مثال: عرض معلومات المساعدة حول الأمر Format-Table
Get-Help Format-Table
الحصول على الأمر: الحصول على معلومات حول أي شيء يمكن الاحتجاج به
مثال لبرنامج Powershell النصي: لإنشاء قائمة أوامر cmdlets، والوظائف المثبتة في جهازك
Get-Command
احصل على خدمة: يبحث عن كافة أوامر cmdlets التي تحتوي على كلمة "خدمة" بداخلها.
مثال: الحصول على كافة الخدمات التي تبدأ بـ "vm"
Get-Service "vm*"
الحصول على العضو: أظهر ما يمكن فعله بجسم ما
مثال: احصل على أعضاء عمليات vm.
Get-Service "vm*" | Get-Member
أوامر أخرى:
- الحصول على الوحدة النمطية يعرض حزم الأوامر
- الحصول على المحتوى يمكن لأمر cmdlet هذا أخذ ملف ومعالجة محتوياته والقيام بشيء ما به
- Get- get يبحث عن كافة أوامر cmdlets التي تبدأ بالكلمة 'get-
مثال: إنشاء مجلد
New-Item -Path 'X:\Guru99' -ItemType Directory
الإخراج:
أنواع بيانات بوويرشيل
المتغيرات الخاصة
المتغير الخاص | الوصف |
---|---|
خطأ $ | مجموعة من كائنات الخطأ التي تعرض أحدث الأخطاء |
$المضيف | عرض اسم تطبيق الاستضافة الحالي |
الملف الشخصي $ | يخزن المسار الكامل لملف تعريف المستخدم للقشرة الافتراضية |
معرف المنتج $ | يخزن معرف العملية |
$PSUICulture | يحمل اسم ثقافة واجهة المستخدم الحالية. |
$فارغة | يحتوي على قيمة فارغة أو فارغة. |
$خطأ | يحتوي على قيمة FALSE |
$صحيح | يحتوي على قيمة حقيقية |
البرامج النصية PowerShell
يتم تخزين نصوص PowerShell في ملف .ps1. بشكل افتراضي، لا يمكنك تشغيل نص بمجرد النقر المزدوج على ملف. وهذا يحمي نظامك من الضرر العرضي. لتنفيذ نص:
الخطوة 1: انقر بزر الماوس الأيمن فوقه وانقر فوق "تشغيل باستخدام PowerShell".
علاوة على ذلك، هناك سياسة تقيد تنفيذ البرنامج النصي. يمكنك رؤية هذه السياسة عن طريق تشغيل أمر Get-ExecutionPolicy.
سوف تحصل على أحد النتائج التالية:
- محدد- لا يسمح بالنصوص البرمجية. هذا هو الإعداد الافتراضي، لذا سيتم عرضه لأول مرة عند تشغيل الأمر.
- AllSigned- يمكنك تشغيل البرامج النصية الموقعة من قبل مطور موثوق به. بمساعدة هذا الإعداد، سيطلب منك البرنامج النصي تأكيد رغبتك في تشغيله قبل التنفيذ.
- RemoteSigned- يمكنك تشغيل البرامج النصية الخاصة بك أو الموقعة من قبل مطور موثوق.
- غير مقيد- يمكنك تشغيل أي برنامج نصي تريد تشغيله
خطوات تغيير سياسة التنفيذ
الخطوة 1) افتح موجه PowerShell مرتفع. انقر بزر الماوس الأيمن على PowerShell ثم "تشغيل كمسؤول"
الخطوة 2) أدخل الأوامر التالية
- الحصول على لExecutionPolicy
- مجموعة سياسة التنفيذ غير مقيدة
- أدخل Y في الموجه
- الحصول على لExecutionPolicy
أول برنامج PowerShell النصي
في المفكرة اكتب الأمر التالي
Write-Host "Hello, Guru99!"
البرامج النصية PowerShell لها امتداد ps1. احفظ الملف باسم FirstScript.ps1
في Powershell، اتصل بالبرنامج النصي باستخدام الأمر
& "X:\FirstScript.ps1"
ما هو بوويرشيل ISE؟
تشير Windows تعد بيئة البرمجة النصية المتكاملة PowerShell (ISE) هي المحرر الافتراضي لـ Windows بوويرشيل. في ISE هذا، يمكنك تشغيل الأوامر واختبار الكاتب وتصحيح البرامج النصية في بيئة واجهة المستخدم الرسومية (GUI) الموجودة في إطار النافذة. يمكنك إجراء تحرير متعدد الأسطر، وتلوين بناء الجملة، وإكمال علامات التبويب، والتنفيذ الانتقائي والكثير من الأشياء الأخرى.
Windows يتيح لك PowerShell ISE أيضًا تشغيل الأوامر في جزء وحدة التحكم. ومع ذلك، فهو يدعم أيضًا الأجزاء التي يمكنك استخدامها لعرض الكود المصدري للبرنامج النصي الخاص بك والأدوات الأخرى التي يمكنك توصيلها بـ ISE في نفس الوقت.
يمكنك أيضًا فتح عدة نوافذ نصية في نفس الوقت. وهذا مفيد بشكل خاص عند تصحيح أخطاء نص برمجي يستخدم وظائف محددة في نصوص برمجية أو وحدات أخرى.
يمكن إنشاء نفس البرنامج النصي الذي أنشأناه في المفكرة في ISE
- الصق الكود في المحرر
- حفظ البرنامج النصي
- استخدم F5 لتشغيل البرنامج النصي
- مراقبة الإخراج في وحدة التحكم
العينة الأولى:
الكود التالي سوف يعطيك الحرية الذاكرة الظاهرية في جهازك
Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost | Select-Object -Property CSName,FreeVirtualMemory
بوويرشيل Concepts
الآن في هذا البرنامج التعليمي Powershell للمبتدئين، سنتعلم حول مفاهيم Powershell المهمة:
كمدليتس | أوامر Cmdlet هي أوامر بناء مكتوبة بلغات .net مثل VB أو C#. فهو يسمح للمطورين بتوسيع مجموعة أوامر cmdlets عن طريق تحميل أدوات PowerShell الإضافية وكتابتها. |
وظائف | الوظائف هي أوامر مكتوبة بلغة PowerShell. يمكن تطويره دون استخدام IDE آخر مثل البصرية ستوديو والتطوير. |
مخطوطات | البرامج النصية هي ملفات نصية موجودة على القرص بامتداد .ps1 |
التطبيقات | التطبيقات هي برامج موجودة في الويندوز. |
ماذا إذا | يخبر الأمر cmdlet بعدم التنفيذ، ولكن يخبرك بما سيحدث إذا تم تشغيل الأمر cmdlet. |
أكد | قم بتوجيه أمر cmdlet للمطالبة قبل تنفيذ الأمر. |
مطنب | يعطي مستوى أعلى من التفاصيل. |
تصحيح | يرشد cmdlet لتوفير معلومات التصحيح. |
خطأ | يوجه الأمر cmdlet لتنفيذ إجراء محدد عند حدوث خطأ. الإجراءات المسموح بها تستمر، توقف، بصمت- تواصل واستفسر. |
ErrorVariable | يحدد المتغير الذي يحمل معلومات الخطأ. |
متغير | يخبر أمر cmdlet باستخدام متغير محدد للاحتفاظ بمعلومات الإخراج |
خارجBuffer | يوجه أمر cmdlet للاحتفاظ بعدد محدد من الكائنات قبل استدعاء أمر cmdlet التالي في المسار. |
مزايا استخدام البرنامج النصي PowerShell
- تعد البرامج النصية PowerShell قوية حقًا ويمكنها تنفيذ الكثير من الأشياء في عدد أقل من الأسطر.
- يتم الإعلان عن المتغيرات في النموذج $
- يمكن استخدام المتغيرات للاحتفاظ بمخرجات الأوامر والكائنات والقيم.
- ليس من الضروري تحديد "نوع" المتغير.
مقابل بوويرشيل. موجه الأمر
بوويرشيل | موجه الأوامر |
---|---|
يتكامل PowerShell بعمق مع Windows نظام التشغيل. ويقدم واجهة سطر الأوامر التفاعلية ولغة البرمجة النصية. | موجه الأوامر هو واجهة سطر الأوامر الافتراضية التي يوفرها Microsoft. إنه تطبيق Win32 بسيط يمكنه التفاعل والتحدث مع أي كائنات Win32 في ملف Windows نظام التشغيل. |
يستخدم PowerShell ما يعرف باسم cmdlets. يمكن استدعاؤه إما في بيئة وقت التشغيل أو البرامج النصية للأتمتة. | لا يتم تقديم مثل هذه الميزات عن طريق موجه الأوامر. |
ويعتبرها PowerShell كائنات. لذلك يمكن تمرير الإخراج كمدخل إلى أوامر cmdlets الأخرى عبر المسار. | موجه الأوامر أو حتى *nix Shell، فإن الإخراج الناتج من أمر cmdlet ليس مجرد دفق من النص، بل مجموعة من الكائنات. |
يعد PowerShell متقدمًا جدًا فيما يتعلق بالميزات والقدرات والأداء الداخلي. | موجه الأوامر أساسي للغاية. |
تطبيقات بوويرشيل
اليوم، أصبح PowerShell خيارًا مثاليًا لمسؤولي تكنولوجيا المعلومات لأنه يسهل عملية الإدارة والجهد المبذول في الشبكات المؤسسية الكبيرة. على سبيل المثال، لنفترض أنك تدير شبكة كبيرة تحتوي على أكثر من أربعمائة خادم. الآن تريد تنفيذ حل أمان جديد. يعتمد حل الأمان هذا على خدمة معينة يجب تشغيلها على تلك الخوادم.
يمكنك بالتأكيد تسجيل الدخول إلى كل خادم ومعرفة ما إذا كان لديهم هذه الخدمة مثبتة قيد التشغيل أم لا. ومع ذلك، من المؤكد أن الأمر يتطلب الكثير من الأخطاء البشرية حيث يحتاج موظفوك إلى قضاء الكثير من الوقت في هذه العملية غير المنتجة.
ومع ذلك، إذا كنت تستخدم PowerShell، فيمكنك إكمال هذه المهمة في بضع دقائق فقط. وذلك لأن العملية بأكملها تتم باستخدام نص برمجي واحد يجمع المعلومات حول الخدمات التي تعمل على الخوادم.
الملخص
- Windows PowerShell هو محرك أتمتة موجه للكائنات ولغة برمجة نصية
- يوفر Powershell تجربة سطر أوامر متكاملة جيدًا لنظام التشغيل
- تم إصدار الإصدار الأول من PowerShell 1.0 في عام 2006
- يسمح PowerShell باستدعاء البرامج النصية وأوامر الأوامر cmdlets على جهاز بعيد
- تم تثبيت PowerShell مسبقًا في كافة الإصدارات الأحدث من Windows
- يعد أمر cmdlet أمرًا خفيف الوزن يُستخدم في بيئة PowerShell الأساسية لـ Window
- تعد أوامر Get وStart وOut وStop وSet وNew من أوامر PowerShell المهمة
- تعتبر Boolean وByte وChat وDecimal وDecimal وLong من أنواع البيانات المهمة في PowerShell
- خطأ $. $Host، $Profile، $PID، $PSUICulture، $NULL هي بعض المتغيرات الخاصة المستخدمة في PowerShell
- تشير Windows تعد بيئة البرمجة النصية المتكاملة PowerShell (ISE) هي المحرر الافتراضي لبرنامج PowerShell
- يتكامل PowerShell بعمق مع Windows نظام التشغيل بينما موجه الأوامر هو واجهة سطر الأوامر الافتراضية التي يوفرها Microsoft
- أصبح PowerShell خيارًا مثاليًا لمسؤولي تكنولوجيا المعلومات لأنه يسهل عملية الإدارة والجهد في شبكات الشركات الكبيرة