في بعض الأحيان ، يواجه نظامنا مشكلات تتعلق بتقديم الحلول التي تتطلب تنفيذ سلسلة من الرموز في PowerShell ▶ ️. إذا كنت مستخدمًا لا يعرف شيئًا عن هذه الأداة ، في مقال اليوم ، لدينا معلومات حول ماهية PowerShell في Windows ولماذا يتم استخدامه؟ ما هو اختلافها مع CMD و Bash ، نوفر لك المتابعة.
ما هو Windows PowerShell؟
What is PowerShell?
ما هو PowerShell على ويندوز؟ Windows PowerShell هي أداة سطر أوامر مفتوحة المصدر (CLI) تسمح للمطورين ومديري تكنولوجيا المعلومات ومحترفي DevOps بأداء المهام والتكوينات باستخدام التعليمات البرمجية. تعتمد هذه الأداة على تقنية Microsoft .NET ويمكن استخدامها كقذيفة مفتوحة المصدر أو كلغة برمجة.
يتم استخدام PowerShell كواجهة للتحكم في النظام باستخدام الأوامر التي تم إدخالها في واجهة سطر الأوامر. يمكنك استخدامه لأتمتة العمليات التي تتطلب التكرار ، حيث يبسط المهام ويقلل من احتمال حدوث أخطاء. أيضًا ، يمكنك ببساطة تشغيل الأوامر في أي وقت تريده لأن لديه القدرة على الحفظ.
كلغة برمجة ، يعد PowerShell أحد أشكال لغة البرمجة المستخدمة لإرسال التعليمات من أحد البرامج الأم إلى برنامج آخر. على عكس لغات البرمجة الأخرى مثل Ruby و Python وما إلى ذلك ، يتم تفسير لغات البرمجة مثل PowerShell بشكل مختلف عن كود الآلة.
يتم تفسير أوامر PowerShell سطراً بسطر باستخدام مترجم بدلاً من مترجم. تتيح هذه الميزة تحسين أداء البرنامج الأصلي ، وأتمتة المهام ، واستخراج البيانات من مجموعات البيانات ، وتكوين الإدارة ، والمزيد.
يمكنك استخدام PowerShell لحل مشكلات مثل إظهار الملفات المخفية على محرك أقراص ثابت خارجي في نظام التشغيل Windows 10 أو إصلاح مشكلة عدم وجود خطأ في تكوين IP صالح لشبكة Wi-Fi في Windows.
ما هو بوويرشيل؟
أنشأ Jeffery Snover في الأصل PowerShell تحت اسم Monad. كان ذلك أثناء الإعلان في أغسطس 2002 عن حاجة PowerShell إلى التطوير لأن بنية Windows لم تسمح باستخدام أدوات Unix. كان من المفترض أن يأتي Monad بواجهة سطر أوامر قابلة للتوسيع (CLI) وواجهة معاد تصميمها بالكامل يمكنها استضافة أدوات Unix.
في عام 2002 ، تم إصدار نسخة تجريبية في مؤتمر لوس أنجلوس ، وبعد ذلك تم إصدار ثلاثة إصدارات تجريبية في يونيو 2005 وسبتمبر 2005 ويناير 2006 على التوالي.
في أبريل 2006 ، غيرت Monad اسمها إلى Windows PowerShell. في عام 2016 ، تم إطلاق الإصدار الخامس من Windows PowerShell. يتمثل الحد من هذه الإصدارات في أنه لا يمكن للمستخدمين استخدامها على أنظمة تشغيل أخرى مثل Linux و Mac.
كحل ، في عام 2016 ، تم إنشاء برنامج Windows PowerShell مفتوح المصدر ، والذي تم تقديمه كإصدار سادس من البرنامج تحت اسم PowerShell core. يمكنك استخدام هذا الإصدار على Mac و Ubuntu و CentOS لأنه يعمل على Net Core.
كيف يعمل Windows PowerShell
بعد أن نفهم ماهية powerhell.exe ، سنتعرف على كيفية عمله:
بشكل عام ، يشبه PowerShell لغة برمجة أكثر من كونه سطر أوامر ، لأنه يعمل على إطار عمل .NET. هذا البرنامج يعمل مع الأشياء. تمثل هذه الكائنات خصائص أو تعليمات. يمكن حتى أن يتم إجراؤها كمدخلات أو مخرجات من خلال البرنامج.
أوامر PowerShell
يتعامل PowerShell مع الكائنات بأربعة أنواع مختلفة من الأوامر ، والتي سنتحدث عنها لاحقًا.
Cmdlets: Cmdlets ، أوامر الأوامر المنطوقة ، هي أوامر PowerShell الأساسية ذات الوظيفة الواحدة. إذا كانت PowerShell عبارة عن فقرة ، فإن Cmdlets هي أحرف كل كلمة في القسم. يمكن استخدام هذه الأوامر وحدها لأداء وظيفة ودمجها لأداء وظائف أكثر أهمية. لاحظ أن كل أمر cmdlet لا يزال يعمل كوظيفة منفصلة. ومع ذلك ، لا تتم كتابة أوامر cmdlets في PowerShell. لقد تمت كتابتها بلغة أخرى ، وتم تجميعها وإتاحتها في PowerShell.
وظائف PowerShell
الوظائف هي واحدة من العديد من الأوامر المستخدمة لتنفيذ التعليمات البرمجية في PowerShell. بخلاف أوامر cmdlets ، تتم كتابة الوظائف في PowerShell. إنها سلسلة من التعليمات التي يتم تشكيلها ويجب استدعاؤها. يُطلق على الإدخال الخاص بهم معلمة ، ولكن يمكن أن يظهر الإخراج على شاشة المستخدم أو يتم تمريره إلى وظيفة أخرى أو إدخال cmdlet.
هناك نوعان من الوظائف في Powershell تسمى الأساسية والمتقدمة. الوظيفة الأساسية هي أبسط شكل من أشكال الوظائف المستخدمة في PowerShell. مع الدالات الأساسية ، لا ترث أي خصائص داخلية من الخصائص الأخرى. لا يوجد سوى مجموعة من الأقواس تحتوي على جسم الوظيفة. الوظائف المتقدمة هي وظائف لها خصائص الوظيفة الأساسية (باعتبارها جوهرًا) ولها خصائص إضافية. تحتوي هذه الوظائف على ميزات مدمجة توفر المزيد من الوظائف.
نصوص PowerShell
تتم كتابة نصوص PowerShell النصية باستخدام أوامر cmdlets. تُستخدم هذه البرامج النصية لأتمتة المهام المختلفة. هناك ثلاثة أوامر في البرنامج النصي Powershell.
- الأمر Get هو الأمر الأول المستخدم لاسترداد البيانات من نظام الملفات.
- يتم استخدام الأمر Set لتحرير معلومات مكونات Windows.
- يتم استخدام أمر remove لإزالة العملية بالكامل.
أوامر تنفيذية
هناك أوامر تُستخدم لتشغيل الملفات القابلة للتنفيذ. الملفات القابلة للتنفيذ لها الامتداد exe وهي جزء من برنامج Microsoft Windows. يتم استخدام ثلاثة أوامر لتشغيل ملفات exe. الأول هو Invoke-expression ، وهو بلا شك الطريقة الأكثر شيوعًا لتنفيذ هذه الملفات. الثاني هو عملية البدء. يبدأ هذا الأمر أكثر من عملية واحدة على جهازك ولكنه يعطيك نفس نتيجة الأمر الأول. الأمر الثالث هو. \ قبل اسم الملف ، وهو أبسط طريقة ، لكنه ينفذ جميع بدائل ملف exe.
أهم الوحدات النمطية وأوامر PowerShell cmdlets
بعض الميزات البارزة هي الوحدات النمطية وأوامر cmdlets
Active Directory (الوحدة النمطية): يتم استخدام هذه الوحدة بواسطة PowerShell لتوسيع إمكانات الإدارة لتشمل كائنات Active Directory ، بما في ذلك الأنظمة والمستخدمين والمجموعات والسمات المخزنة في الحسابات.
Exchange Server (الوحدة النمطية): يتم استخدام هذه الوحدة بواسطة PowerShell لتمكين الإدارة الكاملة Server Exchange. داخل الوحدة النمطية توجد أوامر cmdlets إضافية تدعم بشكل كامل جميع جوانب خادم البريد الإلكتروني في Exchange.
Get-Help (cmdlet): يوفر هذا الأمر cmdlet المدمج في نواة PowerShell معلومات مفيدة ، بما في ذلك استخدام بناء الجملة وأمثلة للأوامر وما تفعله.
Get-Command (cmdlet): عند التشغيل ، يوفر أمر cmdlet المدمج هذا في نواة PowerShell قائمة بالأوامر المتاحة. هذا مفيد في تحديد الأوامر المتاحة لكل وحدة.
Set-Variable (cmdlet): يسمح هذا الأمر cmdlet المضمن في PowerShell للمستخدم بإنشاء متغيرات تُستخدم لتخزين البيانات ، مثل مسارات الملفات أو الكائنات المتعددة أو أجزاء التعليمات البرمجية التي تريد إعادة استخدامها.
Invoke-Command (cmdlet): يستدعي أمر cmdlet المضمن هذا في PowerShell أمر cmdlet آخر ، يتم تشغيله عادةً من نظام محلي ، لتشغيل الأمر الذي تم استدعاؤه على الأنظمة البعيدة.
خط الأنابيب (|): تتمثل إحدى ميزات PowerShell في إمكانية توصيل الأوامر ببعضها البعض باستخدام حرف الأنبوب. تتسبب أوامر Popline في قيام PowerShell بتنفيذ الجزء الأول من الأمر ثم إخراج النتائج للاستخدام بواسطة الأمر الثاني ، وهكذا حتى يتم تنفيذ التسلسل بالكامل. يكون مفيدًا عند تنفيذ مهمة متعددة الخطوات مثل إنشاء اسم مستخدم وإضافة اسم المستخدم إلى مجموعة أمان وإعادة تعيين كلمة المرور الافتراضية.
الوظيفة ({}): على غرار ميزة popline في أن أوامر cmdlets قد تكون مرتبطة ببعضها البعض ، تتيح الوظائف مزيدًا من التحكم في عملية البرمجة النصية. يؤدي تضمين أوامر cmdlets بين قوسين إلى إنشاء وظيفة تعمل على تنفيذ التسلسل مرة واحدة أو أكثر.
Out-File (cmdlet): يسمح هذا الأمر PowerShell cmdlet المضمّن بتصدير إخراج الأمر إلى ملف. يشيع استخدامها مع ميزة popline ، يمكن للمستخدم استرداد قائمة بحسابات المستخدمين التي تم تعطيلها ، على سبيل المثال ، Active Directory وتصدير تلك القائمة إلى ملف نصي للاستخدام في المستقبل.
وحدة الاستيراد (cmdlet): يستورد هذا الأمر PowerShell cmdlet المدمج واحدًا أو أكثر من الوحدات النمطية في PowerShell لتوسيع مجموعة الميزات وأوامر cmdlets والوظائف.
الوحدات النمطية للمكونات الإضافية: يمكن لمطوري البرامج برمجة التعليمات البرمجية لتجميع أوامر cmdlets متعددة معًا كوحدات المكونات الإضافية التي يتم استيرادها في PowerShell لتوسيع الوظائف ودعم تطبيقات معينة.
لماذا تستخدم PowerShell؟
في ما يلي ، سنذكر أسباب استخدام PowerShell:
أتمتة العمل : كلغة برمجة ، يتم استخدام PowerShell بشكل أساسي لإنشاء الأتمتة. تتم الأتمتة على لغات البرمجة النصية الأخرى ولكن في الغالب في PowerShell نظرًا لتنسيقها الفريد. يعد PowerShell أيضًا خيارًا أفضل لأنه يمكن توسيع التطبيق بالوظائف والفئات وأوامر cmdlets والوحدات النمطية.
إمكانية الوصول إلى البيانات: سبب آخر لشعبية PowerShell هو إمكانية الوصول إلى البيانات. جزء كبير من حالات استخدام PowerShell عبارة عن أنشطة إدارية. في شبكات الكمبيوتر الكبيرة ، تعمل العديد من الخدمات بشكل مستقل ويتم التحكم فيها من قبل مسؤول تكنولوجيا المعلومات المركزي. يمنح PowerShell مسؤول تكنولوجيا المعلومات وصولاً بسيطًا إلى مجموعات البيانات المختلفة (مثل أنظمة الملفات أو السجل).
إدارة البنية التحتية كرمز: كسبب ثالث ، يستخدم PowerShell إطار عمل إدارة يمكّن المستخدمين من إدارة البنية الأساسية للشبكة عن طريق تكوينها كرمز. يسمى هذا الإطار DSC (اختصار لـ Desired State Configuration). يكتسب مسؤولو تكنولوجيا المعلومات مهارات PowerShell لمعرفة كيفية إنشاء نماذج التكوين. يحتاجون أيضًا إلى هذه المهارات لتطبيق إعدادات التكوين ، وتحقيق عمليات نشر غير متكررة ، وإنشاء تكوينات تعريفية.
سهولة استخدام الأوامر عن بعد: أخيرًا ، يتم استخدام PowerShell نظرًا لقدرته على استخدام الأوامر عن بُعد. العمل عن بعد هو برنامج أو أداة جديدة تتيح العمل عن بُعد. باستخدام PowerShell ، يمكن للمسؤولين إجراء عمليات عن بُعد على أنظمة متعددة. هذا ممكن من خلال أداة إدارة Windows وبروتوكول إدارة WS.
مزايا Windows 10 PowerShell
سابقًا ، تحدثنا عن 16 طريقة لإصلاح الخطأ This App Can’t Open في Windows 10 و 11 و ... وما إلى ذلك بمساعدة Powershell ، في ما يلي سنتحدث بإيجاز عن فوائد Powershell:
نظام تنسيق قابل للتوسيع
باستخدام PowerShell ، يمكن للمستخدم تنسيق مدخلاته والحصول على الإخراج كما يريد. توجد ثلاث طرق للتنسيق:
format-wide: في هذه الطريقة ، يمكن للمستخدم عرض سمة واحدة فقط للكائن. يمكن استخدام هذا التنسيق لملء أعمدة الجدول أو إنشاء قوائم.
format-list: تسمح هذه الطريقة للمستخدم بعرض خصائص الكائنات كقائمة في سطر جديد.
format table: تنتج هذه الطريقة الإخراج في شكل جدول.
تنسيق البيانات الداخلية
يدعم PowerShell تنسيقات البيانات التي يمكن استخدامها لتخزين البيانات ونقلها وجعل البيانات قابلة للقراءة البشرية والآلة. تنسيقات البيانات هذه هي CSV و JSON و XML.
CSV هو تنسيق بيانات داخلي يخزن بيانات الجدول كنص عادي.
يتم استخدام JSON للاتصال الفوري بين المتصفح والعميل.
يعد XML قابلاً للقراءة آليًا وبشرًا ويستخدم لاسترداد البيانات من صفحة ويب وتحريرها وإعادة إرسالها.
نظام الكتابة الممتد
يوجد نظام نوع موسع (ETS) في PowerShell يمكن لمطوري البرامج النصية و cmdlet استخدامه لمعالجة كائنات .NET. يتم عمل هذا النظام باستخدام كائن PSObject. يمكن استخدام كائن PSObject لتطوير أنواع الكائنات بطريقتين.
في الطريقة الأولى ، يُظهر كائن PSObject طرق عرض مختلفة لأنواع كائنات محددة ، وهو ما يسمى العرض التكيفي.
في الطريقة الثانية ، يوفر كائن PSObject وسيلة لإضافة أعضاء إلى كائن موجود. يقوم هؤلاء الأعضاء الجدد بتوسيع الكائن الأساسي (الكائن الأولي الذي سيتم العمل عليه) من خلال توفير معلومات إضافية يمكن أن تساهم في البرمجة النصية.
محرك برمجة آمن
يوفر PowerShell الأمان للمستخدم من خلال ميزة إدارة التكوين الخاصة به. تتيح هذه الميزة للمستخدمين تحديد البرامج النصية التي سيتم تشغيلها من خلال الفحص البصري. نظرًا لصعوبة ملاحظة البرامج النصية الضارة بصريًا ، يتم اعتبار سياسات الأمان الآلية لمساعدة المستخدمين.
يستخدم PowerShell سياسة تنفيذ كإحدى استراتيجيات الأمان الخاصة به. تحدد هذه السياسة الشروط التي بموجبها سيقوم PowerShell بتشغيل ملفات تكوين وبرامج نصية معينة. تُستخدم هذه السياسة على نظام Windows الأساسي ، ولكن يمكن تعيينها على أنظمة وأجهزة مختلفة عن طريق تعيين "نهج المجموعة". ومع ذلك ، فإن هذه السياسة نشطة فقط عندما يريدها المستخدم.
تطوير الخدمة الذاتية
يسمح PowerShell لكل فريق ببناء أوامر cmdlet الخاصة بهم. هذه ميزة كبيرة على الخيارات الأخرى. يعد نموذج الخدمة الذاتية هذا مهمًا لأنه يمكّن المطورين من إدارة ميزاتهم حتى أثناء كتابة ميزاتهم ، مما يؤدي إلى إدارة أفضل وبالتالي جودة أعلى للمنتج.
API متوافق
واجهات برمجة التطبيقات مثل Windows Management Instrumentation (WMI) و Component Object Model (COM) المستخدمة في Windows إما غير متوافقة أو غير كاملة. هذا يجعلها غير فعالة في تمرير الطلبات إلى المتصفح.
ومع ذلك ، فإن PowerShell عبارة عن واجهة برمجة تطبيقات شاملة ومتسقة بنسبة 100٪ يستخدمها المستخدمون. يتم تنشيطه باستخدام الأمر cmdlet "Invoked-RestMethod". هذا التنشيط هو ببساطة طلب عبر HTTPS أو HTTP. API لتلقي البيانات المرسلة عبر URL.
أتمتة بسيطة
يستخدم PowerShell أوامر بسيطة وذات وظيفة واحدة لتنفيذ المهام. كأداة واحدة ، يمكن استخدام أوامر cmdlets بشكل فردي أو مجتمعة لحل المهام المعقدة. يأتي PowerShell مع أكثر من تسعين cmdlets أساسية. يمكن للمطور إنشاء أوامر cmdlets إضافية إذا لزم الأمر. يمكنك أيضًا مشاركة أوامر cmdlets هذه مع مستخدمين آخرين لأن PowerShell مفتوح المصدر. يتيح ذلك للمطورين إنشاء أتمتة لحل المهام المتكررة.
يمكن استخدامها لخدمات مختلفة
يتمتع PowerShell بنموذج تكوين رائع يجعله مناسبًا للعديد من الخدمات والمنتجات. هذا يعني أنه يمكن استخدام PowerShell لخدمات مختلفة ولا يزال مسؤول تكنولوجيا المعلومات يتحكم فيه. هذا يجعل PowerShell مفيدًا في الشبكات التي تعتمد فيها الخدمات المختلفة أو مستقلة عن بعضها البعض.
سهولة الوصول إلى المعلومات
يمكن أن يوفر PowerShell الوصول إلى البيانات التي يتعذر الوصول إليها لأنها مبنية على إطار عمل Microsoft.NET. تتيح هذه الميزة الفريدة لمتخصصي تكنولوجيا المعلومات الوصول تلقائيًا والتحكم عن بعد في أي نظام Windows على شبكة الشركة. باستخدام سطر واحد من التعليمات البرمجية ، يمكن لمسؤولي تكنولوجيا المعلومات التحكم بشكل عميق في كل نظام ملفات على شبكتهم.
إدارة شبكة المؤسسة
على الرغم من حقيقة أن مدخل ويب إدارة Office 365 على الويب هو محطة الإدارة المركزية لـ Microsoft Office 365 ، فإن PowerShell لديه العديد من أوامر الإدارة المفيدة التي يفتقر إليها. مثال على ذلك هو الخيار الافتراضي لتعيين كلمة مرور. تتمثل الخيارات الموجودة في مدخل ويب الإدارة في جعل جميع المستخدمين يغيرون كلمات المرور الخاصة بهم بانتظام أو ألا يقوم المستخدمون بتغيير كلمات المرور الخاصة بهم. باستخدام PowerShell ، يمكن لمسؤول تكنولوجيا المعلومات إنشاء نظام مصادقة ثنائية (2FA) لمنع المستخدمين من تغيير كلمات المرور بانتظام.
الاكتشاف
واحدة من أكثر الميزات المفيدة في PowerShell هي Get-command cmdlets. باستخدام هذا الأمر ، يمكن للمستخدمين والمطورين استكشاف المجموعة الكاملة من الأوامر والميزات المتوفرة في PowerShell. ينتج الأمر Get-command قائمة بجميع أوامر cmdlets والوظائف التي يمكن العثور عليها في وقت الاستعلام.
رؤى حول اختبارات شهادة Microsoft
أضافت Microsoft مؤخرًا أسئلة حول PowerShell إلى اختبارات الشهادات الخاصة بها. على الرغم من أنك قد لا تحتاج إلى معرفة الصيغة الكاملة لكل أمر ، يجب أن تكون قادرًا على رؤية كيفية استخدام الأوامر المختلفة في المواقف المختلفة. لذلك ، بالنسبة لأولئك الذين يخططون لإجراء اختبار شهادة Microsoft Azure DevOps ، يمكن أن يكون استخدام PowerShell خيارًا أفضل من البرامج الأخرى.
الفرق بين بوويرشيل والقيادة وباش _
لفهم الفرق بين powerhell و command و Bash ، نحتاج إلى تقديم شرح موجز عن CMD و Bash. ثم نعبر عن هذه الاختلافات في جدول:
ما هو CMD؟
CMD تعني موجه أوامر Windows . عندما تم إطلاق نظام التشغيل Microsoft DOS ، تم استخدام CMD كقذيفة وتم إصدار الإصدار الأول من CMD في عام 1987. يستخدم CMD بشكل شائع لأداء العديد من المهام الإدارية العادية ويستخدم أيضًا لأداء الأتمتة. يتم تنفيذ جميع هذه المهام باستخدام البرامج النصية وملفات الدُفعات في سطر الأوامر. يحتوي موجه الأوامر على أوامر مضمنة يتم استخدامها بشكل شائع لإجراء عمليات مختلفة مثل القرص المضغوط والنسخ واللصق و ping وما إلى ذلك.
ما هو باش؟
نظرًا لأن Powershell شائع على أنظمة تشغيل Windows ، فإن Bash هي واحدة من أكثر واجهات سطر الأوامر شيوعًا على Unix. بالإضافة إلى ذلك ، يتم استخدام Bash كصدفة افتراضية في معظم الأنظمة المستندة إلى Unix / Linux هذه الأيام. في عام 1977 نشر ستيفن بورن بشرته ، في ذلك الوقت لم تكن هناك أشكال نصية متاحة. أطلق ستيفن بورن قذيفة أخرى مفتوحة المصدر تسمى (Bash) Bourne Again Shell في عام 1988 لمشروع جنو للتغلب على هذا القيد. منذ ذلك الحين ، أصبحت Bash تحظى بشعبية كبيرة بين المطورين خاصة لنشر قاعدة الرموز أو التطبيقات الخاصة بهم.
CMD | بوويرشيل | سحق |
CMD هو سطر أوامر نظام التشغيل Microsoft Windows مع ميزات تستند إلى الأوامر. | Powershell هي واجهة سطر أوامر قائمة على المهام مصممة خصيصًا لمسؤولي النظام وتعتمد على Net Framework. | Bash هو سطر أوامر ولغة برمجة لمعظم أنظمة التشغيل المستندة إلى Unix / Linux. |
الناتج الذي تم إنشاؤه في شكل أحرف. | يعامل Powershell المدخلات والمخرجات ككائنات. | مثل CMD ، يتعامل Bash مع المدخلات والمخرجات على أنها هياكل نصية. |
يستخدم CMD واجهة سطر أوامر نصية. | يحتوي Powershell على سطر أوامر واجهة المستخدم الرسومية التفاعلية CLI. | يحتوي Bash على واجهة نصية بسيطة تشبه CMD. |
يأتي هذا البرنامج كبرنامج افتراضي في جميع أنظمة تشغيل Windows. | في Windows 2007 والإصدارات الأحدث ، يعد Powershell برنامجًا مضمنًا. قبل ذلك ، يجب تثبيته كبرنامج منفصل. | تستخدم أنظمة Linux و Unix في الغالب Bash وقد تم استخدامها في أنظمة التشغيل Linux و Unix منذ اليوم الأول. |
تعليقاتكم واقتراحاتكم؟
في مقال Nooh Freestyle اليوم ، ما هو PowerShell في Windows وما هو استخدامه؟ تحدثنا عن اختلافه مع CMD و Bash وحاولنا تزويدك بمعلومات مفيدة. إذا فاتتك نقطة أو كان لديك رأي أو اقتراح ، يمكنك مشاركته معنا في قسم التعليقات في هذه المقالة.