باور شيل
باور شيل هو برنامج واجهة سطر أوامر طورته مايكروسوفت لأتمتة المهام وإدارة التكوين . وكما هو معتاد في برامج واجهة سطر الأوامر، يوفر باور شيل مترجم أوامر سطر الأوامر للاستخدام التفاعلي، ومترجم نصوص برمجية للأتمتة باستخدام لغة برمجة مخصصة. كان باور شيل في الأصل مخصصًا لنظام ويندوز فقط، وكان يُعرف باسم ويندوز باور شيل ، ثم أصبح مفتوح المصدر ومتعدد المنصات في 18 أغسطس 2016، مع إطلاق باور شيل كور . [ 5 ] يعتمد باور شيل على إطار عمل .NET ، بينما يعتمد باور شيل كور على .NET (المعروف سابقًا باسم .NET كور).
يأتي برنامج PowerShell مُدمجًا مع الإصدارات الحالية من نظام التشغيل Windows ، ويمكن تثبيته على نظامي التشغيل macOS و Linux . [ 5 ] منذ إصدار Windows 10 رقم 14971، حلّ PowerShell محل موجه الأوامر كواجهة سطر الأوامر الافتراضية التي يعرضها مستكشف الملفات . [ 6 ] [ 7 ]
في PowerShell، تُنفَّذ المهام الإدارية عادةً عبر أوامر cmdlets (تُنطق كوماند-ليتس )، وهي فئات .NET متخصصة تُنفِّذ عمليةً مُحدَّدة. تعمل هذه الأوامر من خلال الوصول إلى البيانات في مخازن بيانات مختلفة، مثل نظام الملفات أو سجل Windows ، والتي تُتاح لـ PowerShell عبر مُزوِّدي البيانات . يُمكن لمطوري البرامج الخارجية إضافة أوامر cmdlets ومُزوِّدي البيانات إلى PowerShell. [ 8 ] [ 9 ] يُمكن استخدام أوامر cmdlets بواسطة البرامج النصية، والتي يُمكن بدورها تجميعها في وحدات نمطية. تعمل أوامر cmdlets بالتزامن مع واجهة برمجة تطبيقات .NET .
يدعم PowerShell تقنيات .NET Remoting و WS-Management و CIM و SSH ، مما يُمكّن المسؤولين من تنفيذ مهام إدارية على أنظمة Windows المحلية والبعيدة. كما يوفر PowerShell واجهة برمجة تطبيقات (API) تسمح بتضمين بيئة تشغيل PowerShell داخل تطبيقات أخرى. وبذلك، تستطيع هذه التطبيقات استخدام وظائف PowerShell لتنفيذ عمليات محددة، بما في ذلك تلك المعروضة عبر الواجهة الرسومية . وقد استُخدمت هذه الإمكانية في Microsoft Exchange Server 2007 لعرض وظائف إدارتها كأوامر PowerShell وموفرين، وتنفيذ أدوات الإدارة الرسومية كمضيفات PowerShell تستدعي الأوامر اللازمة. [ 8 ] [ 10 ] كما تعرض تطبيقات Microsoft الأخرى، بما في ذلك Microsoft SQL Server 2008، واجهة إدارتها عبر أوامر PowerShell. [ 11 ]
يتضمن PowerShell نظام مساعدة شاملًا خاصًا به يعمل عبر سطر الأوامر (مشابهًا لصفحات الدليل في أنظمة Unix ) ويمكن الوصول إليه عبر Get-Helpالأمر cmdlet. كما يمكن استرداد محتويات المساعدة المحلية المحدثة من الإنترنت عبر الأمر Update-Helpcmdlet. بدلاً من ذلك، يمكن الحصول على المساعدة من الويب حسب الحاجة عبر -onlineالتبديل إلى Get-Help.
خلفية
تعود أصول برامج Shell، بما فيها PowerShell، إلى أنظمة التشغيل القديمة مثل MS-DOS و Xenix ، التي كانت تعرض وظائف النظام للمستخدم بشكل شبه حصري عبر واجهة سطر الأوامر (CLI) ، مع العلم أن MS-DOS 5 كان مزودًا أيضًا بواجهة رسومية تكميلية . أما أنظمة Windows 9x، فكانت تأتي مزودة بـ COMMAND.COM ، بيئة سطر الأوامر الخاصة بنظام MS-DOS. في حين أن أنظمة Windows NT و Windows CE كانت مزودة بـ cmd.exe الأحدث ، والذي يُعدّ ترقية كبيرة عن COMMAND.COM. توفر كلتا البيئتين واجهة سطر أوامر للأوامر الداخلية والخارجية، بالإضافة إلى إمكانية التشغيل الآلي عبر ملفات الدفعات ، وهي لغة برمجة نصية بدائية نسبيًا.
لمعالجة قيود هذه الأنظمة - بما في ذلك عدم القدرة على استخدام مكونات البرامج المعروضة عبر COM مباشرةً - قدمت مايكروسوفت Windows Script Host في عام 1998 مع نظام التشغيل Windows 98 ، وبرنامجها المضيف القائم على سطر الأوامر cscript.exe. يتكامل هذا البرنامج مع محرك Active Script ، ويتيح كتابة البرامج النصية بلغات متوافقة، مثل JScript و VBScript . يمكن لهذه البرامج النصية استخدام مكونات COM مباشرةً، إلا أن توثيقه غير متاح نسبيًا، واكتسب سمعة سيئة كونه ثغرة أمنية في النظام بعد أن استغلت عدة فيروسات حاسوبية بارزة نقاط ضعف في إجراءاته الأمنية.
وفرت إصدارات مختلفة من نظام التشغيل ويندوز مترجمات أوامر متخصصة (مثل netsh و WMIC ) مع مجموعات أوامر خاصة بها، لكنها لم تكن متوافقة فيما بينها. وحاول نظام ويندوز سيرفر 2003 تحسين تجربة سطر الأوامر، لكن دعم البرمجة النصية ظل غير مُرضٍ. [ 12 ]
كيرميت

بحلول أواخر التسعينيات، طلبت إنتل من مايكروسوفت المساعدة في جعل نظام ويندوز، الذي كان يعمل على معالجات إنتل، منصةً أكثر ملاءمةً لدعم تطوير معالجات إنتل المستقبلية. في ذلك الوقت، كان تطوير معالجات إنتل يتم على حواسيب صن مايكروسيستمز التي تعمل بنظام سولاريس (أحد مشتقات يونكس ) على معالجات ذات بنية RISC . وقد حُدِّدت إمكانية تشغيل العديد من برامج أتمتة كورن شيل الخاصة بإنتل على ويندوز كقدرة أساسية. داخليًا، بدأت مايكروسوفت جهودًا لإنشاء نسخة ويندوز من كورن شيل، والتي أُطلق عليها الاسم الرمزي كيرميت. [ 13 ] في نهاية المطاف، تحولت إنتل إلى منصة تطوير قائمة على لينكس يمكن تشغيلها على معالجات إنتل، مما جعل مشروع كيرميت غير ضروري. مع ذلك، ومع وجود فريق ممول بالكامل، أدرك مدير برنامج مايكروسوفت، جيفري سنوفر، وجود فرصة لإنشاء حل أكثر شمولية لمشكلة مايكروسوفت في أتمتة العمليات الإدارية.
الموناد
بحلول عام 2002، بدأت مايكروسوفت بتطوير منهج جديد لإدارة سطر الأوامر، بما في ذلك واجهة سطر أوامر تُسمى موناد (المعروفة أيضًا باسم مايكروسوفت شل أو MSH). نُشرت الأفكار الكامنة وراءها في أغسطس 2002 في ورقة بيضاء بعنوان "بيان موناد" بقلم كبير مهندسيها، جيفري سنوفر . [ 14 ] في مقابلة عام 2017، شرح سنوفر نشأة باور شيل، قائلاً إنه كان يحاول إتاحة أدوات يونكس على ويندوز، لكن ذلك لم ينجح بسبب " اختلافات معمارية جوهرية بين ويندوز ولينكس ". وأشار تحديدًا إلى أن لينكس يعتبر كل شيء ملفًا نصيًا ، بينما يعتبر ويندوز كل شيء " واجهة برمجة تطبيقات تُرجع بيانات مُهيكلة". كان النظامان غير متوافقين بشكل أساسي، مما دفعه إلى اتباع نهج مختلف. [ 15 ]
كان من المفترض أن يكون Monad واجهة سطر أوامر جديدة قابلة للتوسيع بتصميم مبتكر، قادرة على أتمتة مجموعة من المهام الإدارية الأساسية. عرضت مايكروسوفت Monad لأول مرة علنًا في مؤتمر التطوير المهني في لوس أنجلوس في أكتوبر 2003. وبعد بضعة أشهر، أتاحت نسخة تجريبية خاصة، والتي أدت في النهاية إلى نسخة تجريبية عامة. نشرت مايكروسوفت أول إصدار تجريبي عام من Monad في 17 يونيو 2005، والإصدار التجريبي الثاني في 11 سبتمبر 2005، والإصدار التجريبي الثالث في 10 يناير 2006.
باور شيل

في 25 أبريل 2006، وبعد عامين ونصف من الإعلان الأولي عن موناد، أعلنت مايكروسوفت عن تغيير اسم موناد إلى ويندوز باور شيل ، مما جعله جزءًا أساسيًا من عروض تقنيات الإدارة لديها. [ 16 ] وصدرت النسخة التجريبية الأولى (RC) من باور شيل في الوقت نفسه. ومن أبرز جوانب تغيير الاسم والنسخة التجريبية الأولى أن باور شيل أصبح الآن مكونًا أساسيًا من مكونات ويندوز، وليس مجرد إضافة. وقد أُدرج الإصدار النهائي 1.0 ضمن نظام ويندوز فيستا.
صدرت النسخة التجريبية الثانية من PowerShell الإصدار 1 في 26 سبتمبر 2006، مع إطلاقها النهائي على الإنترنت في 14 نوفمبر 2006. أما PowerShell للإصدارات السابقة من Windows فقد صدرت في 30 يناير 2007. [ 17 ] بدأ تطوير PowerShell الإصدار 2.0 قبل إصدار PowerShell الإصدار 1.0. خلال عملية التطوير، أصدرت مايكروسوفت ثلاث نسخ تجريبية مجتمعية (CTP) . أتاحت مايكروسوفت هذه الإصدارات للجمهور. أُتيح آخر إصدار تجريبي مجتمعي من Windows PowerShell الإصدار 2.0 في ديسمبر 2008.
تم إكمال PowerShell v2.0 وإصداره للتصنيع في أغسطس 2009، كجزء لا يتجزأ من نظامي التشغيل Windows 7 وWindows Server 2008 R2. وصدرت نسخ من PowerShell لأنظمة Windows XP وWindows Server 2003 وWindows Vista وWindows Server 2008 في أكتوبر 2009، وهي متاحة للتنزيل لأنظمة 32 بت و64 بت. [ 18 ] وفي عدد أكتوبر 2009 من مجلة TechNet ، وصفت مايكروسوفت إتقان PowerShell بأنه "المهارة الأهم التي سيحتاجها مسؤول نظام Windows في السنوات القادمة". [ 19 ]
تم تزويد نظام التشغيل Windows 10 ببرنامج Pester، وهو مجموعة أدوات للتحقق من صحة البرامج النصية لـ PowerShell. [ 20 ]

في 18 أغسطس 2016، أعلنت مايكروسوفت [ 21 ] أنها جعلت PowerShell مفتوح المصدر ومتعدد المنصات، مع دعم أنظمة Windows و macOS و CentOS و Ubuntu . [ 5 ] نُشرت شفرة المصدر على GitHub . [ 22 ] أدى التحول إلى المصادر المفتوحة إلى ظهور نسخة ثانية من PowerShell تُسمى "PowerShell Core"، والتي تعمل على .NET Core . وهي تختلف عن "Windows PowerShell"، التي تعمل على .NET Framework الكامل . [ 23 ] بدءًا من الإصدار 5.1، أصبحت PowerShell Core مُدمجة مع Windows Server 2016 Nano Server . [ 24 ] [ 25 ]
باش
مشروع Pash ، وهو تورية على اسم " bash " (صدفة يونكس الشهيرة )، عبارة عن إعادة برمجة مفتوحة المصدر ومتعددة المنصات للغة PowerShell باستخدام إطار عمل Mono . [ 26 ] أنشأ إيغور موتشنيك Pash، وكتبه بلغة C# ، وصدر بموجب رخصة جنو العمومية العامة . توقف تطوير Pash في عام 2008، ثم استؤنف على GitHub في عام 2012، [ 27 ] وتوقف نهائيًا في عام 2016 عندما أصبحت PowerShell رسميًا مفتوحة المصدر ومتعددة المنصات. [ 28 ]
تصميم
فلسفة
كان أحد الأهداف الرئيسية لتصميم PowerShell هو الاستفادة من العدد الكبير من واجهات برمجة التطبيقات (APIs) الموجودة بالفعل في Windows وWindows Management Instrumentation و.NET Framework وغيرها من البرامج. تُغلف أوامر PowerShell عادةً الوظائف الموجودة وتُتيح الوصول إليها بدلاً من تنفيذ وظائف جديدة. كان الهدف هو توفير واجهة سهلة الاستخدام وأكثر اتساقًا بين المسؤولين ومجموعة واسعة من الوظائف الأساسية. مع PowerShell، لا يحتاج المسؤول إلى معرفة .NET أو WMI أو برمجة واجهات برمجة التطبيقات منخفضة المستوى، ويمكنه بدلاً من ذلك التركيز على استخدام أوامر PowerShell. في هذا الصدد، لا يُنشئ PowerShell وظائف جديدة تُذكر، بل يُركز على جعل الوظائف الموجودة أكثر سهولة في الوصول إليها لفئة مُحددة من المستخدمين. [ 29 ]
قواعد اللغة
استند مطورو PowerShell في بناء القواعد الأساسية للأداة على قواعد POSIX 1003.2 KornShell . [ 30 ]
ومع ذلك، تأثرت لغة PowerShell أيضًا بلغة PHP و Perl والعديد من اللغات الأخرى الموجودة. [ 31 ]
الأوامر المسماة
يمكن لـ PowerShell تنفيذ أربعة أنواع من الأوامر المسماة: [ 32 ]
- cmdlets ( برامج .NET Framework المصممة للتفاعل مع PowerShell)
- نصوص PowerShell البرمجية (الملفات التي تنتهي بـ
.ps1) - وظائف PowerShell
- برامج تنفيذية مستقلة
إذا كان الأمر برنامجًا تنفيذيًا مستقلًا، يقوم PowerShell بتشغيله في عملية منفصلة ؛ أما إذا كان cmdlet، فيتم تنفيذه ضمن عملية PowerShell. يوفر PowerShell واجهة سطر أوامر تفاعلية ، حيث يمكن إدخال الأوامر وعرض مخرجاتها. وتتيح واجهة المستخدم إمكانية تخصيص ميزة الإكمال التلقائي باستخدام مفتاح Tab . كما يُمكّن PowerShell من إنشاء أسماء بديلة لأوامر cmdlet، والتي يترجمها PowerShell نصيًا إلى استدعاءات للأوامر الأصلية. يدعم PowerShell كلاً من المعاملات المُسماة والمعاملات الموضعية للأوامر. عند تنفيذ cmdlet، يتولى PowerShell نفسه مهمة ربط قيمة الوسيطة بالمعامل، أما بالنسبة للبرامج التنفيذية الخارجية، فيتم تحليل الوسائط بواسطة البرنامج التنفيذي الخارجي بشكل مستقل عن تفسير PowerShell. [ 33 ]
نظام الكتابة الموسع
يعتمد نظام أنواع PowerShell الموسع ( ETS ) على نظام أنواع .NET، ولكنه يتميز بدلالات موسعة (مثل مجموعات الخصائص وإمكانية التوسعة من جهات خارجية). فعلى سبيل المثال، يُمكّن من إنشاء طرق عرض مختلفة للكائنات من خلال عرض مجموعة فرعية فقط من حقول البيانات والخصائص والأساليب، بالإضافة إلى تحديد سلوكيات التنسيق والفرز المخصصة. ويتم ربط طرق العرض هذه بالكائن الأصلي باستخدام ملفات تكوين XML . [ 34 ]
أوامر Cmdlets
الـ cmdlet هو فئة .NET مشتقة إما من الفئة الأساسية أو Cmdletمن الفئة الأساسية PSCmdlet؛ وتُستخدم الأخيرة عند الحاجة للتفاعل مع بيئة تشغيل PowerShell. [ 35 ] تُحدد الفئات الأساسية الطرق -BeginProcessing() و - التي يُعيد الـ cmdlet تعريفها لتوفير وظائف بناءً على الأحداث التي تُمثلها هذه الطرق. يتم استدعاء الطريقة إذا تلقى الكائن مدخلات عبر خط الأنابيب. [ 36 ] إذا تم تمرير مجموعة من الكائنات عبر خط الأنابيب، فسيتم استدعاء الطريقة لكل كائن في المجموعة. يجب أن تحتوي فئة الـ cmdlet على السمة التي تُحدد الفعل والاسم اللذين يُشكلان اسم الـ cmdlet.ProcessRecord()EndProcessing()ProcessRecord()CmdletAttribute
يتبع اسم الأمر نمط تسمية الفعل-الاسم ، مثل Get-ChildItem ، مما يجعله موثقًا ذاتيًا . [ 35 ] تُقدم الأفعال الشائعة كقائمة تعدادية . [ 37 ] [ 38 ]
إذا استقبل أمر cmdlet مدخلات من خط الأنابيب أو معلمات سطر الأوامر، فيجب أن يكون هناك خاصية مقابلة في الفئة، مع تطبيق مُعدِّل . يستدعي PowerShell المُعدِّل بقيمة المعلمة أو مدخلات خط الأنابيب، والتي يحفظها تطبيق المُعدِّل في متغيرات الفئة. ثم تُشير الطرق التي تُنفِّذ الوظيفة إلى هذه القيم. تُعلَّم الخصائص التي تُطابق معلمات سطر الأوامر بـ ParameterAttribute[ 39 ] ويتم تعيينها قبل استدعاء الدالة BeginProcessing(). أما الخصائص التي تُطابق مدخلات خط الأنابيب، فتُحاط أيضًا بـ [ 40 ]ParameterAttribute ، ولكن مع ValueFromPipelineتعيين معلمة السمة.
يمكن لأمر cmdlet استخدام أي واجهة برمجة تطبيقات .NET ، ويمكن كتابته بأي لغة من لغات .NET . بالإضافة إلى ذلك، يوفر PowerShell واجهات برمجة تطبيقات معينة، مثل واجهة برمجة تطبيقات الوصول إلى البيانات، والتي تُستخدم للوصول إلى وظائف خاصة بـ PowerShell، مثل كتابة الكائنات إلى مسار البيانات. يمكن لأمر cmdlet استخدام واجهة برمجة تطبيقات الوصول إلى البيانات الخاصة بـ .NET مباشرةً، أو استخدام بنية PowerShell الأساسية للموفرين ، والتي تُمكّن من الوصول إلى مخازن البيانات باستخدام مسارات فريدة . يتم عرض مخازن البيانات باستخدام أحرف محركات الأقراص ، والتسلسلات الهرمية داخلها، والتي يتم الوصول إليها كدلائل. يأتي PowerShell مزودًا بموفرين لنظام الملفات ، والسجل ، ومخزن الشهادات ، بالإضافة إلى مساحات الأسماء لأسماء الأوامر المستعارة، والمتغيرات، والدوال. [ 41 ] يتضمن PowerShell أيضًا أوامر cmdlet متنوعة لإدارة أنظمة Windows المختلفة ، بما في ذلك نظام الملفات، أو استخدام أداة إدارة Windows للتحكم في مكونات Windows . يمكن للتطبيقات الأخرى تسجيل أوامر cmdlet مع PowerShell، مما يسمح له بإدارتها، وإذا كانت هذه التطبيقات تتضمن أي مخزن بيانات (مثل قاعدة بيانات)، فيمكنها إضافة موفرين محددين أيضًا.WriteObject()
يمكن إضافة أوامر cmdlet إلى واجهة سطر الأوامر عبر الوحدات النمطية أو قبل وحدات v2 الإضافية. ولا يقتصر المستخدمون على أوامر cmdlet المضمنة في تثبيت PowerShell الأساسي.
عدد أوامر cmdlets المضمنة في تثبيت PowerShell الأساسي لمختلف الإصدارات:
خط الأنابيب
لتمكين دلالات خط الأنابيب ، على غرار خط أنابيب يونكس ، يستقبل الأمر cmdlet المدخلات ويُخرج النتائج ككائنات. إذا أخرج الأمر cmdlet عدة كائنات، يُمرر كل كائن من المجموعة عبر خط الأنابيب قبل معالجة الكائن التالي. [ 35 ] يُمكّن خط أنابيب PowerShell من تنفيذ منطق معقد باستخدام عامل التشغيل pipe( ) لربط المراحل. مع ذلك، يختلف خط أنابيب PowerShell عن خطوط أنابيب يونكس في أن المراحل تُنفذ داخل بيئة تشغيل PowerShell بدلاً من كونها مجموعة من العمليات التي يُنسقها نظام التشغيل . بالإضافة إلى ذلك، تُمرر كائنات .NET المهيكلة، بدلاً من تدفقات البايت ، من مرحلة إلى أخرى. يُغني استخدام الكائنات وتنفيذ المراحل داخل بيئة تشغيل PowerShell عن الحاجة إلى تسلسل هياكل البيانات، أو استخراجها عن طريق تحليل مخرجات النص بشكل صريح. [ 46 ] يمكن للكائن أيضًا تغليف وظائف معينة تعمل على البيانات المُضمنة، والتي تُصبح متاحة للأمر المُستقبِل للاستخدام. [ 47 ] [ 48 ] بالنسبة للأمر cmdlet الأخير في سلسلة الأوامر، يقوم PowerShell تلقائيًا بتوجيه كائن الإخراج الخاص به إلى الأمر cmdlet، الذي يحول الكائنات إلى دفق من كائنات التنسيق ثم يعرضها على الشاشة. [ 49 ] [ 50 ]|Out-Default
نظرًا لأن كائن PowerShell هو كائن .NET، فإنه يحتوي على .ToString()دالة تُستخدم لتسلسل حالة الكائن. بالإضافة إلى ذلك، يسمح PowerShell بتحديد تعريفات التنسيق، بحيث يمكن تخصيص التمثيل النصي للكائنات عن طريق اختيار عناصر البيانات المراد عرضها، وكيفية عرضها. مع ذلك، وللحفاظ على التوافق مع الإصدارات السابقة ، إذا تم استخدام ملف تنفيذي خارجي في مسار معالجة، فإنه يستقبل دفقًا نصيًا يمثل الكائن، بدلًا من التكامل المباشر مع نظام أنواع PowerShell. [ 51 ] [ 52 ] [ 53 ]
كتابة البرامج النصية
تتضمن PowerShell لغة برمجة نصية ديناميكية النوع ، تُتيح تنفيذ عمليات معقدة باستخدام أوامر cmdlets بشكل إجرائي . تدعم هذه اللغة المتغيرات، والدوال، والتفرع ، والحلقات ، ومعالجة الأخطاء/الاستثناءات المنظمة، والإغلاقات / تعبيرات لامدا ، [ 54 ] بالإضافة إلى التكامل مع .NET. تُسبق المتغيرات في نصوص PowerShell النصية بـ . يمكن إسناد أي قيمة للمتغيرات، بما في ذلك مخرجات أوامر cmdlets. يمكن وضع السلاسل النصية بين علامتي اقتباس مفردة أو مزدوجة: عند استخدام علامتي اقتباس مزدوجتين، سيتم توسيع المتغيرات حتى لو كانت داخل علامتي الاقتباس. يُنشئ وضع مسار ملف بين قوسين معقوفين مسبوقين بعلامة دولار (كما في )، والمعروف باسم تدوين متغير مساحة الاسم، مرجعًا لمحتويات الملف. إذا استُخدم كقيمة يسارية (L-value )، فسيتم كتابة أي شيء مُسند إليه في الملف. عند استخدامه كقيمة يمينية (R-value )، سيتم قراءة محتويات الملف. إذا تم تعيين كائن، فإنه يتم تسلسله قبل تخزينه. [ 55 ]if-then-elsewhiledoforforeach$${C:\foo.txt}
يمكن الوصول إلى عناصر الكائن باستخدام .الترميز، كما هو الحال في لغة C#. يوفر PowerShell متغيرات خاصة، مثل `<object>` $args، وهو عبارة عن مصفوفة تحتوي على جميع وسائط سطر الأوامر التي يتم تمريرها إلى دالة من سطر الأوامر، و`< $_object>`، الذي يشير إلى الكائن الحالي في مسار المعالجة. [ 56 ] كما يوفر PowerShell المصفوفات والمصفوفات الترابطية . وتقوم لغة PowerShell أيضًا بتقييم التعبيرات الحسابية المُدخلة في سطر الأوامر فورًا، كما أنها تحلل الاختصارات الشائعة، مثل GB وMB وKB. [ 57 ] [ 58 ]
باستخدام functionالكلمة المفتاحية، يوفر PowerShell إمكانية إنشاء الدوال. تتخذ الدالة البسيطة الشكل العام التالي: [ 59 ]
اسم الدالة ( [النوع] $Param1 ، [النوع] $Param2 ) { # التعليمات }ومع ذلك، يسمح PowerShell بوظائف متقدمة تدعم المعلمات المسماة، والمعلمات الموضعية، ومعلمات التبديل، والمعلمات الديناميكية. [ 59 ]
دالة فعل-اسم {param (# تعريف المعاملات الثابتة)dynamicparam {تعريف المعلمات الديناميكية}يبدأ {# مجموعة من التعليمات التي يتم تنفيذها في بداية خط الأنابيب}عملية {# مجموعات التعليمات الرئيسية، التي يتم تشغيلها لكل عنصر في خط الأنابيب}نهاية {# مجموعة التعليمات التي يتم تنفيذها في نهاية خط الأنابيب}}يتم استدعاء الدالة المحددة بأحد الشكلين التاليين: [ 59 ]
الاسم القيمة 1 القيمة 2 فعل-اسم -المعامل 1 القيمة 1 -المعامل 2 القيمة 2 يسمح PowerShell باستدعاء أي دوال ثابتة في .NET من خلال تحديد مساحات أسمائها بين قوسين معقوفين ( [])، ثم استخدام نقطتين رأسيتين ( ::) للإشارة إلى الدالة الثابتة. [ 60 ] على سبيل المثال:
[Console] :: WriteLine ( "PowerShell" )توجد عشرات الطرق لإنشاء الكائنات في PowerShell. بمجرد إنشائها، يمكن الوصول إلى خصائص الكائن وطرق مثيله باستخدام .الصيغة. [ 60 ]
يقبل PowerShell السلاسل النصية ، سواءً كانت عادية أو مُهرّبة . السلسلة النصية المحصورة بين علامتي اقتباس مفردتين تُعتبر سلسلة نصية عادية، بينما السلسلة النصية المحصورة بين علامتي اقتباس مزدوجتين تُعتبر سلسلة نصية مُهرّبة. يتعامل PowerShell مع علامات الاقتباس المستقيمة والملتوية على أنها متكافئة. [ 61 ]
تدعم PowerShell قائمة الأحرف الخاصة التالية: [ 62 ]
| تسلسل | معنى |
|---|---|
| 0 | باطل |
| `a | يُحذًِر |
| ب | مسافة للخلف |
| هـ | الهروب (منذ PowerShell 6) |
| `f | تغذية النموذج |
| ن | سطر جديد |
| `ر | إرجاع السطر |
| ت | علامة تبويب أفقية |
| `u{x} | تسلسل الهروب Unicode (منذ PowerShell 6) |
| `v | علامة تبويب عمودية |
| --% | تعامل مع أي شخصية من هذه النقطة فصاعدًا حرفيًا |
لمعالجة الأخطاء، يوفر PowerShell آلية لمعالجة الاستثناءات مبنية على .NET . في حالة حدوث أخطاء، Exceptionيتم طرح كائنات تحتوي على معلومات حول الخطأ (كائن)، والتي يتم التقاطها باستخدام try ... catchالبنية (مع أن trapالبنية مدعومة أيضًا). يمكن تهيئة PowerShell لاستئناف التنفيذ بصمت، دون طرح الاستثناء فعليًا؛ ويمكن القيام بذلك إما لأمر واحد، أو جلسة واحدة، أو بشكل دائم. [ 63 ]
يمكن حفظ البرامج النصية المكتوبة باستخدام PowerShell عبر الجلسات إما في .ps1ملف أو .psm1ملف (يُستخدم الأخير لتنفيذ وحدة نمطية). لاحقًا، يمكن استخدام البرنامج النصي بالكامل أو وظائف فردية منه. تعمل البرامج النصية والوظائف بشكل مشابه لأوامر cmdlets، حيث يمكن استخدامها كأوامر في مسارات البيانات، ويمكن ربط المعلمات بها. يمكن تمرير كائنات مسار البيانات بسلاسة بين الوظائف والبرامج النصية وأوامر cmdlets. لمنع التشغيل غير المقصود للبرامج النصية، يتم تعطيل تنفيذها افتراضيًا ويجب تفعيلها صراحةً. [ 64 ] يمكن تفعيل البرامج النصية على مستوى النظام أو المستخدم أو الجلسة. يمكن توقيع برامج PowerShell النصية للتحقق من سلامتها، وتخضع لأمان الوصول إلى التعليمات البرمجية . [ 65 ]
تدعم لغة PowerShell تدوين البادئة الثنائية على غرار التدوين العلمي الذي تدعمه العديد من لغات البرمجة في عائلة C. [ 66 ]
الاستضافة
يمكن أيضًا استخدام PowerShell مُدمجًا في تطبيق إدارة، والذي يستخدم بيئة تشغيل PowerShell لتنفيذ وظائف الإدارة. لهذا الغرض، يوفر PowerShell واجهة برمجة تطبيقات (API) للاستضافة المُدارة . عبر واجهات برمجة التطبيقات هذه، يُمكن للتطبيق إنشاء مساحة تشغيل (نسخة واحدة من بيئة تشغيل PowerShell)، والتي تعمل ضمن عملية التطبيق وتُعرض ككائن . [ 8 ] يتم تغليف حالة مساحة التشغيل في كائن. عند إنشاء مساحة التشغيل، تقوم بيئة تشغيل PowerShell بتهيئة النسخة، بما في ذلك تهيئة الموفرين وتعداد أوامر cmdlets، وتحديث الكائن وفقًا لذلك. بعد ذلك، يجب فتح مساحة التشغيل إما للمعالجة المتزامنة أو غير المتزامنة. بعد ذلك، يُمكن استخدامها لتنفيذ الأوامر.RunspaceSessionStateSessionState
لتنفيذ أمر، Pipelineيجب إنشاء مسار (مُمثَّل بكائن) وربطه بمساحة التشغيل. ثم يُملأ كائن المسار بأوامر cmdlets التي تُشكِّله. بالنسبة للعمليات المتسلسلة (كما في برنامج PowerShell النصي)، يُنشأ كائن مسار لكل عبارة ويُضمَّن داخل كائن مسار آخر. [ 8 ] عند إنشاء مسار، يستدعي PowerShell معالج المسار، الذي يُحلِّل أوامر cmdlets إلى تجميعاتها الخاصة ( معالج الأوامرInputPipe ) ويُضيف مرجعًا إليها إلى المسار ، ويربطها OutputPipeبكائنات ErrorOutputPipeلتمثيل الاتصال بالمسار. يتم التحقق من الأنواع وربط المعلمات باستخدام الانعكاس . [ 8 ] بمجرد إعداد المسار، يستدعي المضيف الدالة Invoke()لتشغيل الأوامر، أو ما يُعادلها غير المتزامن InvokeAsync(). إذا كان الأمر Write-Hostcmdlet موجودًا في نهاية المسار، فإنه يكتب النتيجة على شاشة وحدة التحكم. وإذا لم يكن كذلك، تُسلَّم النتائج إلى المضيف، الذي قد يُطبِّق عليها مزيدًا من المعالجة أو يعرض المخرجات بنفسه.
يستخدم خادم Microsoft Exchange Server 2007 واجهات برمجة التطبيقات (APIs) الخاصة بالاستضافة لتوفير واجهة المستخدم الرسومية للإدارة. تُربط كل عملية معروضة في واجهة المستخدم الرسومية بسلسلة من أوامر PowerShell (أو مسارات الأوامر). يقوم المضيف بإنشاء مسار الأوامر وتنفيذه. في الواقع، تُعد وحدة تحكم PowerShell التفاعلية نفسها مضيف PowerShell، حيث تُفسر البرامج النصية المُدخلة في سطر الأوامر وتُنشئ الكائنات اللازمة Pipelineوتستدعيها.
تكوين الحالة المرغوب فيه
تتيح DSC تحديد كيفية تكوين بيئة البرمجيات بشكل تصريحي. [ 67 ]
عند تشغيل أي تكوين ، يضمن نظام إدارة التكوين (DSC) حصول النظام على الحالة الموصوفة في التكوين. وتتميز تكوينات DSC بأنها متكررة النتائج. يقوم مدير التكوين المحلي (LCM) باستطلاع النظام دوريًا باستخدام مسار التحكم الموصوف بواسطة الموارد (الأجزاء الأساسية لنظام DSC) للتأكد من الحفاظ على حالة التكوين.
الإصدارات
لا تزال جميع الإصدارات الرئيسية مدعومة، وقد تميز كل إصدار رئيسي بالتوافق مع الإصدارات السابقة.
مشروع موناد
تم عرض PowerShell لأول مرة علنًا في مؤتمر المطورين المحترفين في أكتوبر 2003 في لوس أنجلوس، وكان الاسم الرمزي الأولي هو "Monad".
ويندوز باور شيل
1.0
تم إصدار الإصدار 1.0 من Windows PowerShell في نوفمبر 2006 لأنظمة Windows XP SP2 و Windows Server 2003 SP1 و Windows Vista [ 68 ] وكجزء اختياري من Windows Server 2008 .
2.0

يتكامل الإصدار 2.0 مع نظامي التشغيل Windows 7 و Windows Server 2008 R2 [ 69 ] ويتم إصداره لنظام التشغيل Windows XP مع حزمة الخدمة 3، ونظام التشغيل Windows Server 2003 مع حزمة الخدمة 2، ونظام التشغيل Windows Vista مع حزمة الخدمة 1. [ 70 ] [ 71 ]
يتضمن هذا الإصدار تغييرات في لغة البرمجة وواجهة برمجة التطبيقات الخاصة بالاستضافة، بالإضافة إلى تضمين أكثر من 240 أمرًا جديدًا. [ 72 ] [ 73 ]
تشمل الميزات الجديدة ما يلي: [ 74 ] [ 75 ] [ 76 ]
- التحكم عن بعد : باستخدام WS-Management ، يسمح باستدعاء البرامج النصية وأوامر cmdlets على جهاز بعيد أو مجموعة كبيرة من الأجهزة البعيدة.
- المهام الخلفية : تُعرف أيضًا باسم PSJob ، وتتيح استدعاء سلسلة أوامر (نص برمجي) أو مسار بيانات بشكل غير متزامن. يمكن تشغيل المهام على الجهاز المحلي أو على عدة أجهزة بعيدة. يقوم الأمر التفاعلي في PSJob بإيقاف تنفيذ المهمة مؤقتًا حتى يتم إدخال بيانات من المستخدم.
- المعاملات : فعّل أوامر cmdlet ليتمكن المطورون من تنفيذ عمليات المعاملات . يتضمن ذلك أوامر cmdlet للمعاملات لبدء عملية PSTransaction ، وإتمامها، والتراجع عنها، بالإضافة إلى ميزات لإدارة المعاملة وتوجيهها إلى أوامر cmdlet وعمليات الموفر المشاركة. يدعم موفر سجل PowerShell المعاملات.
- الوظائف المتقدمة : كانت تُسمى في البداية "أوامر البرمجة النصية"، ثم أُعيد تسمية هذه الأوامر المجمعة لاحقًا إلى "الوظائف المتقدمة". [ 77 ]
- SteppablePipelines : يسمح هذا للمستخدم بالتحكم في وقت استدعاء
BeginProcessing()وظائف cmdlet.ProcessRecord()EndProcessing() - الوحدات : تُمكّن مطوري البرامج النصية ومديري الأنظمة من تنظيم البرامج النصية وتقسيمها إلى وحدات مستقلة وقابلة لإعادة الاستخدام. يُنفَّذ الكود من الوحدة في سياق مستقل خاص به، ولا يؤثر على الحالة خارج الوحدة. يمكن للوحدات تحديد بيئة تشغيل مقيدة باستخدام برنامج نصي. ولها حالة ثابتة، بالإضافة إلى أعضاء عامة وخاصة.
- لغة البيانات : مجموعة فرعية خاصة بالمجال من اللغة تسمح بفصل تعريفات البيانات عن البرامج النصية وتسمح باستيراد موارد السلاسل المترجمة إلى البرنامج النصي في وقت التشغيل ( تدويل البرامج النصية ).
- تصحيح الأخطاء البرمجية : يسمح بتعيين نقاط توقف في البرنامج النصي أو الدالة. يمكن تعيين نقاط التوقف على الأسطر، أو الأسطر والأعمدة، أو الأوامر، أو على عمليات قراءة أو كتابة المتغيرات. يتضمن مجموعة من أوامر cmdlets للتحكم في نقاط التوقف عبر البرنامج النصي.
- تتيح خاصية الأحداث الاستماع إلى أحداث الإدارة والنظام، وإعادة توجيهها، والتفاعل معها. كما تُمكّن هذه الخاصية الأجهزة المضيفة من تلقي إشعارات حول تغييرات حالة الكيانات المُدارة. بالإضافة إلى ذلك، تُمكّن البرامج النصية من الاشتراك في أحداث الكائنات (ObjectEvents) وأحداث النظام (PSEvents) وأحداث Wmi (WmiEvents) ومعالجتها بشكل متزامن وغير متزامن.
- بيئة البرمجة النصية المتكاملة (ISE) : مضيف قائم على واجهة المستخدم الرسومية يوفر مصحح أخطاء متكامل، وتمييز بناء الجملة ، وإكمال علامة التبويب، وما يصل إلى 8 وحدات تحكم تدعم Unicode (Runspaces) في واجهة مستخدم ذات علامات تبويب، بالإضافة إلى القدرة على تشغيل الأجزاء المحددة فقط في البرنامج النصي.
- نقل الملفات عبر الشبكة : دعم أصلي لنقل الملفات بين الأجهزة بشكل متزامن ومحدد السرعة وبترتيب زمني حسب الأولوية باستخدام خدمة النقل الذكي في الخلفية (BITS). [ 78 ]
- أوامر cmdlets الجديدة : بما في ذلك الأمر
Out-GridViewالذي يعرض البيانات الجدولية في كائن WPF GridView ، على الأنظمة التي تسمح بذلك، وفي حالة تثبيت ISE وتمكينه. - عوامل التشغيل الجديدة :
-Split،-Joinو@وعوامل Splatting ( ). - معالجة الاستثناءات باستخدام Try-Catch-Finally : على عكس لغات .NET الأخرى، يسمح هذا بأنواع استثناءات متعددة لكتلة catch واحدة.
- سلاسل نصية قابلة للتداخل : تم تحسين السلاسل النصية ويمكن الآن تداخلها. [ 79 ]
- التعليقات المضمنة : دعم التعليقات المضمنة باستخدام
<#و#>كفواصل. [ 80 ] - واجهات برمجة التطبيقات الجديدة : تتراوح واجهات برمجة التطبيقات الجديدة بين منح المضيف مزيدًا من التحكم في المحلل اللغوي ووقت التشغيل، وإنشاء وإدارة مجموعة من مساحات التشغيل،
RunspacePoolsبالإضافة إلى إمكانية إنشاء مساحات تشغيل مقيدة تسمح فقط باستدعاء مجموعة فرعية مُهيأة من PowerShell. كما تدعم واجهات برمجة التطبيقات الجديدة المشاركة في المعاملات.
3.0
يتكامل الإصدار 3.0 مع أنظمة التشغيل Windows 8 و Windows Server 2012 و Windows 7 مع حزمة الخدمة 1 و Windows Server 2008 مع حزمة الخدمة 1 و Windows Server 2008 R2 مع حزمة الخدمة 1. [ 81 ] [ 82 ]
يُعد الإصدار 3.0 جزءًا من حزمة أكبر، وهي إطار إدارة ويندوز 3.0 (WMF3)، والتي تتضمن أيضًا خدمة WinRM لدعم الاتصال عن بُعد. [ 82 ] أصدرت مايكروسوفت عدة إصدارات تجريبية من WMF3. وقد صدرت نسخة تجريبية مبكرة من إطار إدارة ويندوز 3.0 (CTP 2) في 2 ديسمبر 2011. [ 83 ] أُتيح إطار إدارة ويندوز 3.0 للاستخدام العام في ديسمبر 2012 [ 84 ] وهو مُضمّن افتراضيًا مع ويندوز 8 وويندوز سيرفر 2012. [ 85 ]
تشمل الميزات الجديدة ما يلي: [ 82 ] [ 86 ] : 33-34
- المهام المجدولة : يمكن جدولة المهام لتشغيلها في وقت وتاريخ محددين مسبقًا باستخدام بنية جدولة المهام في نظام التشغيل Windows .
- اتصال الجلسات : يمكن قطع اتصال الجلسات وإعادة الاتصال بها. أصبحت الجلسات عن بُعد أكثر تحملاً لانقطاعات الشبكة المؤقتة.
- تحسين كتابة التعليمات البرمجية : تمت إضافة ميزة الإكمال التلقائي للتعليمات البرمجية (IntelliSense) ومقتطفات التعليمات البرمجية . يتيح ISE للمستخدمين استخدام مربعات الحوار لملء معلمات أوامر cmdlets.
- دعم التفويض : يمكن تفويض المهام الإدارية إلى المستخدمين الذين ليس لديهم أذونات لهذا النوع من المهام، دون منحهم أذونات إضافية دائمة.
- تحديث المساعدة : يمكن تحديث وثائق المساعدة عبر الأمر Update-Help.
- الكشف التلقائي عن الوحدات : يتم تحميل الوحدات ضمنيًا عند استدعاء أي أمر من تلك الوحدة. كما تعمل ميزة إكمال التعليمات البرمجية للوحدات غير المحملة أيضًا.
- أوامر جديدة : تمت إضافة العشرات من الوحدات النمطية الجديدة، بما في ذلك وظائف إدارة الأقراص
get-WmiObject win32_logicaldisk، ووحدات التخزين، وجدران الحماية، واتصالات الشبكة، والطابعات، والتي كانت تتم سابقًا عبر WMI.
4.0
يتكامل الإصدار 4.0 مع أنظمة التشغيل Windows 8.1 و Windows Server 2012 R2 و Windows 7 SP1 و Windows Server 2008 R2 SP1 و Windows Server 2012. [ 87 ]
تشمل الميزات الجديدة ما يلي:
- تكوين الحالة المطلوبة : [ 88 ] [ 89 ] [ 90 ] امتدادات لغة تعريفية وأدوات تُمكّن من نشر وإدارة بيانات التكوين للأنظمة التي تستخدم معايير إدارة DMTF وبروتوكول إدارة WS
- سياسة التنفيذ الافتراضية الجديدة : في خوادم ويندوز، أصبحت سياسة التنفيذ الافتراضية الآن هي
RemoteSigned. - حفظ المساعدة : يمكن الآن حفظ المساعدة للوحدات النمطية المثبتة على أجهزة الكمبيوتر البعيدة.
- تحسين تصحيح الأخطاء : يدعم مصحح الأخطاء الآن تصحيح سير العمل، وتنفيذ البرامج النصية عن بعد، والحفاظ على جلسات تصحيح الأخطاء عبر عمليات إعادة الاتصال بالجلسة.
- مفتاح PipelineVariable : مُعامل جديد شائع الاستخدام لعرض كائن خط الأنابيب الحالي كمتغير لأغراض البرمجة.
- تشخيص الشبكة لإدارة محولات الشبكة المادية ومحولات الشبكة الافتراضية في Hyper-V
- توفر صيغة طريقة Where و ForEach طريقة بديلة لتصفية الكائنات والتكرار عليها.
5.0

أُعيد إصدار النسخة 5.0 مع إطار إدارة ويندوز (WMF) 5.0 في 24 فبراير 2016، بعد إصدار أولي تضمن خللاً خطيراً. [ 91 ]
الميزات الرئيسية المضمنة:
classالكلمة المفتاحية الجديدة التي تُنشئ فئات للبرمجة الكائنية التوجه- الكلمة المفتاحية الجديدة
enumالتي تُنشئ تعدادات OneGetأوامر cmdlets لدعم مدير حزم Chocolatey [ 92 ]- توسيع نطاق دعم إدارة المحولات ليشمل محولات الشبكة من الطبقة الثانية . [ 93 ]
- تصحيح الأخطاء للوظائف التي تعمل في الخلفية والحالات المستضافة في عمليات أخرى (يُطلق على كل منها اسم "مساحة تشغيل").
- تكوين الحالة المرغوبة (DSC) مدير التكوين المحلي (LCM) الإصدار 2.0
- تكوينات جزئية لـ DSC
- التكوينات الوصفية لمدير التكوين المحلي لـ DSC
- تأليف موارد DSC باستخدام الفئات
5.1
تم إصدار الإصدار 5.1 مع تحديث الذكرى السنوية لنظام التشغيل Windows 10 [ 94 ] في 2 أغسطس 2016، وفي Windows Server 2016. [ 95 ] يدعم PackageManagement الآن الوكلاء، ويدعم PSReadLine الآن وضع ViMode، وتمت إضافة أمرين جديدين: Get-TimeZone وSet-TimeZone. تتيح وحدة LocalAccounts إضافة/إزالة حسابات المستخدمين المحليين. [ 96 ] تم إصدار معاينة لـ Windows 7 وWindows Server 2008 وWindows Server 2008 R2 وWindows Server 2012 وWindows Server 2012 R2 في 16 يوليو 2016، [ 97 ] وتم إصداره رسميًا في 19 يناير 2017. [ 98 ]
يُعد الإصدار 5.1 أول إصدار يأتي بنسختين: "سطح المكتب" و"الأساسي". نسخة "سطح المكتب" هي امتداد لسلسلة المنتجات التي تستخدم إطار عمل .NET، بينما تعمل نسخة "الأساسي" على .NET Core وتأتي مُدمجة مع Windows Server 2016 Nano Server. في مقابل حجم أصغر، تفتقر النسخة الأخيرة إلى بعض الميزات مثل أوامر cmdlets لإدارة الحافظة أو ربط جهاز كمبيوتر بنطاق، وأوامر WMI الإصدار 1، وأوامر سجل الأحداث، وملفات التعريف. [ 25 ] كان هذا هو الإصدار الأخير المُخصص لنظام Windows. لا يزال الإصدار 5.1 مُثبتاً مُسبقاً على أنظمة Windows 10 وWindows 11 وWindows Server 2022، بينما يجب تثبيت نسخة .NET بشكل منفصل ويمكن تشغيلها جنباً إلى جنب مع نسخة .NET Framework. [ 99 ] [ 100 ]
باور شيل كور
6.0
أُعيد تسمية PowerShell إلى PowerShell Core، وأُعلن عن الإصدار 6.0 لأول مرة في 18 أغسطس 2016، عندما كشفت مايكروسوفت عن قرارها بجعل المنتج متعدد المنصات ، مستقلاً عن نظام ويندوز، ومجانيًا ومفتوح المصدر. [ 5 ] وأصبح متاحًا للجميع في 10 يناير 2018 لأنظمة ويندوز وماك أو إس ولينكس . [ 101 ] وله دورة دعم خاصة به، ويلتزم بسياسة دورة حياة مايكروسوفت التي طُبقت مع ويندوز 10: حيث لا يُدعم إلا أحدث إصدار من PowerShell Core. وتتوقع مايكروسوفت إصدار نسخة فرعية واحدة من PowerShell Core 6.0 كل ستة أشهر. [ 102 ]
يُعدّ التوسع ليشمل منصات أخرى أبرز تغيير في هذا الإصدار. بالنسبة لمسؤولي أنظمة ويندوز، لم يتضمن هذا الإصدار أي ميزات جديدة رئيسية. في مقابلة مع المجتمع بتاريخ 11 يناير 2018، طُلب من فريق التطوير ذكر أهم عشرة أمور مثيرة للاهتمام بالنسبة لمتخصصي تكنولوجيا المعلومات الذين سينتقلون من الإصدار 5.1 إلى الإصدار 6.0. ردًا على ذلك، لم يستطع أنجيل كالف من مايكروسوفت سوى ذكر أمرين: التوافق مع منصات متعددة والبرمجيات مفتوحة المصدر. [ 103 ] تم تغيير ترميز PowerShell 6 إلى UTF-8 كترميز افتراضي، مع بعض الاستثناءات. [ 104 ] (يُجري الإصدار 7.4 تغييرات أكثر على UTF-8). [ 105 ]
6.1
بحسب مايكروسوفت، فإن إحدى الميزات الجديدة للإصدار 6.1 هي "التوافق مع أكثر من 1900 أمر cmdlets موجود في ويندوز 10 وويندوز سيرفر 2019 ". [ 106 ] مع ذلك، لا توجد تفاصيل عن هذه الأوامر في النسخة الكاملة من سجل التغييرات. [ 107 ] لاحقًا، أقرت مايكروسوفت بأن هذا العدد لم يكن كافيًا، إذ فشل PowerShell Core في استبدال Windows PowerShell 5.1 واكتساب شعبية على نظام ويندوز. [ 108 ] لكنه كان شائعًا على نظام لينكس. [ 108 ]
6.2
يركز الإصدار 6.2 بشكل أساسي على تحسينات الأداء، وإصلاح الأخطاء، وتحسينات أصغر في أوامر cmdlet واللغة مما أدى إلى تحسين إنتاجية المطورين. [ 109 ]
باور شيل
7.0
أُعيد تسمية الإصدار 7 إلى PowerShell فقط، ليحل محل خطي الإنتاج السابقين: PowerShell Core وWindows PowerShell. [ 110 ] [ 108 ] انصبّ التركيز في التطوير على جعل الإصدار 7 بديلاً عملياً للإصدار 5.1، أي أن يكون متقارباً معه من حيث التوافق مع الوحدات النمطية المرفقة مع نظام Windows. [ 111 ]
تشمل الميزات الجديدة ما يلي: [ 112 ]
- مفتاح
-Parallelالتبديل الخاص بالأمرForEach-Objectcmdlet للمساعدة في التعامل مع المعالجة المتوازية - عرض جديد للأخطاء
- الأمر
Get-Errorcmdlet - عوامل ربط خطوط الأنابيب (
&&و||) التي تسمح بالتنفيذ المشروط للأمر التالي في خط الأنابيب - عامل التشغيل ? : للعملية الثلاثية
- عامل
??دمج القيم الصفرية - عامل
??=تعيين دمج القيم الفارغة - متعدد المنصات
Invoke-DscResource(تجريبي) - إرجاع الأمر
Out-GridViewcmdlet - عودة المفتاح
-ShowWindowلـGet-Help
7.2
الإصدار 7.2 هو الإصدار التالي المدعوم طويل الأمد ، بعد الإصدار 7.0. يستخدم هذا الإصدار .NET 6.0 ويتضمن حزم تثبيت شاملة لنظام Linux. أما على نظام Windows، فتأتي التحديثات إلى الإصدار 7.2 والإصدارات الأحدث عبر خدمة Microsoft Update ؛ وهذه الميزة غير متوفرة في الإصدارات من 6.0 إلى 7.1. [ 113 ]
7.3
يتضمن الإصدار 7.3 بعض التحديثات والإصلاحات العامة لأوامر Cmdlet، واختبار الحزم المعتمدة على الإطار في مسار الإصدار، بالإضافة إلى تحسينات في البناء والتغليف. [ 114 ]
7.4
يعتمد الإصدار 7.4 على .NET 8 ويعتبر إصدار الدعم طويل الأمد (LTS). [ 115 ]
تشمل التغييرات ما يلي: [ 116 ]
- تستخدم أوامر الويب افتراضيًا ترميز UTF-8 (بدلاً من ASCII - مجموعة فرعية ISO-8859-1 ، التي لا تدعم Unicode ). سابقًا، كان UTF-8 هو الترميز الافتراضي لبعض الأشياء، ولكن ليس جميعها.
7.5
الإصدار 7.5 هو أحدث إصدار مستقر، صدر في يناير 2025، وهو مبني على .NET 9.0.1. يتضمن هذا الإصدار تحسينات في الأداء وسهولة الاستخدام والأمان. [ 117 ] تشمل التحديثات الرئيسية تحسينات على ميزة الإكمال التلقائي، مثل تحسين استنتاج أنواع البيانات وإضافة مُكمِّلات جديدة للوسائط، بالإضافة إلى إصلاحات للأمرَين Invoke-WebRequest وInvoke-RestMethod. كما يُضيف هذا الإصدار أوامر ConvertTo-CliXml وConvertFrom-CliXml الجديدة، ويُحدِّث الوحدات الأساسية مثل PSReadLine وMicrosoft.PowerShell.PSResourceGet. تشمل التغييرات الجذرية تحديثات لمعالجة معلمات Test-Path، والإعدادات الافتراضية لـ New-FileCatalog.
قبل الإصدار العام، كانت هناك 5 إصدارات تجريبية وإصدار واحد تجريبي من PowerShell v7.5.0، [ 118 ] مع توقع نشر مدونة الإصدار الكامل لهذا الإصدار قريبًا.
7.6
الإصدار 7.6 مبني على .NET 9 وهو أحدث إصدار. تم إصداره في 17 مارس 2026. [ 119 ]
تشمل التغييرات ما يلي:
- تحديثات وإصلاحات عامة للأوامر البرمجية
- قم بتحديث بيانات تعريف موارد ملف تعريف PowerShell DSC للسماح بقيمة فارغة للمحتوى.
- أضف تعليقات توضيحية إلى GitHub Actions لحالات فشل اختبار Pester
- إصلاح Import-Module.Tests.ps1 للتعامل مع منصة Arm32 [ 120 ]
مقارنة أوامر cmdlets مع الأوامر المماثلة
يحتوي الجدول التالي على أوامر PowerShell المختلفة التي تتشابه وظائفها بشكل ملحوظ مع الأوامر الموجودة في بيئات الأوامر الأخرى. يتم توفير العديد من هذه الأوامر للمستخدم عبر أسماء مستعارة مُعرّفة مسبقًا لتسهيل استخدامها على مستخدمي بيئات الأوامر الأخرى.
| الأمر البرمجي | اسم مستعار مُعرّف مسبقًا | أمر موجه الأوامر | أمر شل يونكس | الوظائف |
|---|---|---|---|---|
| Clear-Host [ أ ] | cls ، واضح | الفصل | واضح | يمسح الشاشة |
| مقارنة الكائنات | قارن، اختلف | نادي كرة القدم | الفرق | يقارن محتوى ملفين |
| نسخ العنصر | cpi ، نسخة ، cp | ينسخ | cp | نسخ الملفات والمجلدات |
| Get-ChildItem | gci, dir, ls [ b ] | دليل | ls | قوائم الملفات والمجلدات |
| احصل على الأمر | gcm | مساعدة ، أين | النوع ، الذي ، مولد المكونات | يعرض قائمة بالأوامر المتاحة ويحصل على مسار الأمر |
| احصل على معلومات الكمبيوتر | شرك | معلومات النظام | uname -a | استرجاع معلومات النظام |
| الحصول على المحتوى | gc ، نوع ، قطة | يكتب | قطة | يعرض محتوى الملف |
| الحصول على التاريخ | {{{1}}} | التاريخ والوقت | تاريخ | تاريخ ووقت التقارير |
| احصل على المساعدة | ساعدني يا رجل [ ج ] | يساعد | بالمناسبة يا رجل | يعرض وثائق الأمر |
| الحصول على السجل | تاريخ | دوسكي / التاريخ | fc -l , history [ d ] | يعرض الأوامر السابقة |
| الحصول على الموقع | gl , pwd | قرص مضغوط | كلمة المرور | يُبلغ عن دليل العمل |
| الحصول على العملية | نظام تحديد المواقع العالمي (GPS) ، نظام التشغيل PS | tlist ، [ e ] tasklist [ f ] | ملاحظة: | التقارير قيد التشغيل |
| استدعاء طلب الويب | iwr ، | curl [ 121 ] | wget ، curl | تنزيل المحتويات من الإنترنت |
| قياس-أمر | غير متوفر | غير متوفر | الوقت (يونكس) | تشير التقارير إلى الوقت المنقضي في العالم الحقيقي لتنفيذ الأمر التالي. |
| قياس الكائن | يقيس | غير متوفر | مرحاض | يحسب عدد الأحرف والكلمات والأسطر النصية. ويضيف PowerShell ملخصات للخصائص الرقمية للكائنات. |
| نقل العنصر | مي ، تحرك ، فيديو موسيقي | يتحرك | mv | ينقل الملفات والمجلدات |
| موقع السكان | popd | popd | popd | يعيد دليل العمل إلى المسار الذي تم دفعه إليه آخر مرة |
| تحديد الموقع بالدفع | دفع | دفع | دفع | يقوم بدفع مسار دليل العمل وتغيير دليل العمل |
| قراءة المضيف | {{{1}}} | ضبط /P | يقرأ | يقرأ المدخلات إلى متغير من سطر الأوامر |
| إزالة العنصر | ري ، ديل ، محو ، رمدير ، أردي ، آرإم | حذف ، مسح ، حذف الدليل ، قراءة | rm ، rmdir | حذف الملفات أو المجلدات |
| إعادة تسمية العنصر | rni , ren | ren ، إعادة تسمية | mv | إعادة تسمية ملف أو مجلد |
| التسجيل - وظيفة مجدولة | غير متوفر | في ، مهام [ 122 ] | في ، كرون | جدولة المهام لتشغيلها في وقت مختلف |
| تحديد السلسلة | sls | ابحث ، ابحث عن سلسلة | grep | يعرض أسطر الملف التي تتطابق مع نمط معين |
| تحديد التاريخ | {{{1}}} | التاريخ والوقت | بلح | يعيد ضبط التاريخ والوقت |
| تحديد الموقع | sl ، cd ، chdir | cd , chdir | قرص مضغوط | يُغيّر مسار العمل |
| تعيين متغير | sv ، مجموعة | تعيين | env ، export ، set ، setenv | يقوم بإنشاء أو تعديل محتويات متغير بيئي |
| فرز الكائنات | نوع | نوع | نوع | يقوم هذا الأمر بفرز أسطر النص؛ كما يقوم أيضاً بفرز الكائنات. |
| بدء النوم | ينام | ينام | مهلة زمنية [ ساعة ] | يوقف العملية الحالية لفترة زمنية محددة. |
| إيقاف العملية | sps ، اقتل | kill ، [ e ] taskkill [ f ] | اقتل [ i ] | يوقف عملية قيد التشغيل |
| تي-كائن | تي شيرت | غير متوفر | تي شيرت | يقوم هذا البرنامج بتمرير المدخلات إلى ملف أو متغير، ثم يمررها عبر مسار البيانات. |
| اختبار الاتصال | بينغ | بينغ | بينغ | يرسل طلبات صدى ICMP إلى جهاز بعيد |
| كتابة الإخراج | صدى ، اكتب | صدى | صدى | يكتب النص إلى المخرج القياسي |
ملحوظات
- ↑ تم تنفيذه كدالة محددة مسبقًا
- ↑
lsغير موجود في إصدار لينكس من PowerShell Core - ↑
manغير موجود في إصدار لينكس من PowerShell Core - ↑ تم تعريف fcفي معيار POSIX، بينمالم يتم تعريف history. ومع ذلك، فإن معظم تطبيقات Unix تُعرّف history أيضًا .
- 1 2 متوفر في أنظمة التشغيل Windows NT 4 و Windows 98 Resource Kit و Windows 2000 Support Tools
- 1 2 تم تقديمه في إصدار ويندوز إكس بي الاحترافي
- ↑
curlوهيwgetغير موجودة في PowerShell Core، وذلك حتى لا تتعارض مع الأوامر الأصلية التي تحمل أسماءً مماثلة. - ↑ موجه أوامر ويندوز فقط
- ↑ تُستخدم أيضًا في أنظمة يونكس لإرسال أي إشارة إلى عملية ما ، وإشارة "الإنهاء" هي ببساطة الإشارة الافتراضية.
امتدادات أسماء الملفات
| امتداد | وصف |
|---|---|
| .ps1 | ملف البرنامج النصي [ 123 ] |
| ملف .psd1 | ملف بيان الوحدة النمطية؛ عادةً ما يأتي مع وحدة نمطية نصية أو وحدة نمطية ثنائية [ 124 ] |
| .psm1 | ملف وحدة البرمجة النصية [ 125 ] |
| ملف ps1xml | ملف تعريفات التنسيق والنوع [ 53 ] [ 126 ] |
| .psc1 | ملف وحدة التحكم [ 127 ] |
| .pssc | ملف تكوين الجلسة [ 128 ] |
| .psrc | ملف قدرات الدور [ 129 ] |
دعم التطبيقات
| طلب | إصدار | أوامر Cmdlets | مزود | واجهة المستخدم الرسومية للإدارة |
|---|---|---|---|---|
| خادم Exchange | 2007 | 402 | نعم | نعم |
| ويندوز سيرفر | 2008 | نعم | نعم | لا |
| خادم مايكروسوفت SQL | 2008 | نعم | نعم | لا |
| مايكروسوفت شيربوينت | 2010 | نعم | نعم | لا |
| مدير تكوين مركز النظام | 2012 R2 | أكثر من 400 | نعم | لا |
| مدير عمليات مركز النظام | 2007 | 74 | نعم | لا |
| مدير الأجهزة الافتراضية في مركز النظام | 2007 | نعم | نعم | نعم |
| مدير حماية البيانات في مركز النظام | 2007 | نعم | لا | لا |
| خادم مجموعة الحوسبة ويندوز | 2007 | نعم | نعم | لا |
| مجموعة برامج النقل من مايكروسوفت لـ Lotus Domino [ 130 ] | 08.02.0012 | 47 | لا | لا |
| أدوات مايكروسوفت باور تولز لـ Open XML [ 131 ] | 1.0 | 33 | لا | لا |
| IBM WebSphere MQ [ 132 ] | 6.0.2.2 | 44 | لا | لا |
| إضافات IoT Core [ 133 ] | 74 | مجهول | مجهول | |
| Quest Management Shell for Active Directory [ 134 ] | 1.7 | 95 | لا | لا |
| برنامج العمليات الخاصة قيادة العمليات الخاصة [ 135 ] | 1.0 | نعم | لا | نعم |
| VMware vSphere PowerCLI [ 136 ] | 6.5 R1 | أكثر من 500 | نعم | نعم |
| خدمات معلومات الإنترنت [ 137 ] | 7.0 | 54 | نعم | لا |
| مركز استكشاف الأخطاء وإصلاحها في ويندوز 7 [ 138 ] | 6.1 | نعم | لا | نعم |
| مجموعة أدوات نشر مايكروسوفت [ 139 ] | 2010 | نعم | نعم | نعم |
| مجموعة أدوات NetApp PowerShell [ 140 ] [ 141 ] | 4.2 | أكثر من 2000 | نعم | نعم |
| نظام JAMS Scheduler – نظام إدارة الوصول إلى الوظائف [ 142 ] | 5.0 | 52 | نعم | نعم |
| أتمتة واجهة المستخدم [ 143 ] | 0.8 | 432 | لا | لا |
| Dell Equallogic [ 144 ] | 3.5 | 55 | لا | لا |
| LOGINventory [ 145 ] | 5.8 | نعم | نعم | نعم |
| SePSX [ 146 ] | 0.4.1 | 39 | لا | لا |
انظر أيضاً
مراجع
- ↑ "الإصدار 7.6.4" . 20 يوليو 2026. تم الاطلاع عليه في 21 يوليو 2026 .
- ↑ "إصدار PowerShell v7.7.0-preview.2" . GitHub . 27 مايو 2026. تم الاطلاع عليه في 28 مايو 2026 .
- ↑ "باور شيل لكل نظام!" . 12 يونيو 2017 – عبر GitHub.com .
- ↑ سنوفر، جيفري (25 مايو 2008). "باور شيل وWPF: ما هذا بحق الجحيم؟" . مدونة ويندوز باور شيل . مايكروسوفت.
- 1 2 3 4 برايت، بيتر (18 أغسطس 2016). "باور شيل هو أحدث إصدار مفتوح المصدر من مايكروسوفت، قادم إلى لينكس وOS X" . آرس تكنيكا . كوندي ناست . مؤرشف من الأصل في 9 أبريل 2020. تم الاسترجاع في 12 مايو 2020 .
- ↑ "الإعلان عن الإصدار التجريبي 14971 من نظام التشغيل Windows 10 لأجهزة الكمبيوتر الشخصية" . 17 نوفمبر 2016.
- ↑ "يحل PowerShell محل موجه الأوامر" .
- 1 2 3 4 5 "باور شيل" . تم الاطلاع عليه في 13 مارس 2023 .
- ↑ تروهر، جيم (ديسمبر 2007). "توسيع نطاق ويندوز باور شيل باستخدام أوامر مخصصة" . مجلة MSDN . مايكروسوفت. مؤرشف من الأصل في 6 أكتوبر 2008.
- ↑ لوي، سكوت (4 يناير 2007). "Exchange 2007: تعوّد على سطر الأوامر" . TechRepublic . CBS Interactive . مؤرشف من الأصل في 16 نوفمبر 2018. تم الاطلاع عليه في 12 مايو 2020 .
- ↑ سنوفر، جيفري (13 نوفمبر 2007). "دعم SQL Server لـ PowerShell!" . مدونة Windows PowerShell (منشور مدونة). مايكروسوفت. مؤرشف من الأصل في 15 نوفمبر 2007. تم الاسترجاع في 13 نوفمبر 2007 .
- ↑ دراغان، ريتشارد ف. (23 أبريل 2003). "ويندوز سيرفر 2003 يُقدّم تحسينات شاملة" . PCMag.com . زيف ديفيس .
من أبرز ميزاته أن جميع أدوات الإدارة تقريبًا تعمل الآن من سطر الأوامر (ومعظمها متوفر عبر telnet).
- ↑ جونز، دون (2020). قشرة فكرة: التاريخ غير المروي لـ PowerShell . دون غانون-جونز. ص 25. ISBN 978-1-9536450-3-6.
- ↑ جيفري ب. سنوفر (8 أغسطس 2002). "بيان الموناد" (ملف PDF) . مدونة ويندوز باور شيل . مايكروسوفت . تم الاطلاع عليه في 2 أبريل 2021 .
- ↑ بيغار وهاربو (14 سبتمبر 2017). "الرجل وراء ويندوز باور شيل" . بودكاست " كن مستمراً ". هيفيبيت . تم الاطلاع عليه في 14 سبتمبر 2017 .
- ↑ "وصلت لغة Windows PowerShell (Monad)" . مدونة Windows PowerShell . مايكروسوفت . 25 أبريل 2006.
- ↑ سنوفر، جيفري (15 نوفمبر 2006). "ويندوز باور شيل وويندوز فيستا" . مدونة ويندوز باور شيل (منشور مدونة). مايكروسوفت .
- ↑ "إطار إدارة ويندوز (Windows PowerShell 2.0، وWinRM 2.0، وBITS 4.0)" . الدعم . مايكروسوفت . 30 سبتمبر 2013. مؤرشف من الأصل في 13 أكتوبر 2013.
- ↑ بوزي، بريان (6 أكتوبر 2009). "10 أسباب تدفعك لتعلم استخدام باور شيل" . تيك ريبابليك . تم الاطلاع عليه في 2 أبريل 2021 .
- ↑ "ما هو بيستر ولماذا يجب أن أهتم؟" . 14 ديسمبر 2015.
- ↑ سنوفر، جيفري (18 أغسطس 2016). "باور شيل مفتوح المصدر ومتاح على لينكس" . مدونة مايكروسوفت أزور . مايكروسوفت .
- ↑ "PowerShell/PowerShell" . GitHub . تم الاطلاع عليه بتاريخ 18 أغسطس 2016 .
- ↑ هانسن، كينيث؛ كالف، أنجيل (18 أغسطس 2016). "باور شيل على لينكس والمصادر المفتوحة!" . مدونة ويندوز باور شيل . مايكروسوفت .
- ↑ فولي، ماري جو (18 أغسطس 2016). "مايكروسوفت تفتح مصدر PowerShell؛ وتوفره لأنظمة Linux وMac OS X" . ZDNet . CBS Interactive .
- 1 2 "PowerShell على خادم Nano" . TechNet . مايكروسوفت . 20 أكتوبر 2016.
- ↑ "Pash" . SourceForge . Dice Holdings, Inc. تم الاسترجاع في 27 سبتمبر 2011 .
- ↑ "مشروع باش" . جيت هاب . تم الاطلاع عليه في 10 أبريل 2013 .
- ↑ "أصبح Pash الآن قديمًا · العدد 429 · Pash-Project/Pash" . GitHub . تم الاطلاع عليه بتاريخ 26 نوفمبر 2019 .
- ↑ جونز، دون (2020). قشرة فكرة: التاريخ غير المروي لـ PowerShell . دون غانون-جونز. ص 45. ISBN 978-1-9536450-3-6.
- ↑ بايت، بروس (2008). ويندوز باور شيل عمليًا . سلسلة منشورات مانينغ. مانينغ. ص 27. ISBN 9781932394900تم الاطلاع عليه بتاريخ 22 يوليو 2016.
تعتمد لغة PowerShell الأساسية على قواعد POSIX 1003.2 الخاصة بـ Korn shell .
- ↑ جونز، دون (2020). قشرة فكرة: التاريخ غير المروي لـ PowerShell . دون غانون-جونز. ص 109. ISBN 978-1-9536450-3-6.
- ↑ "حول أسبقية الأوامر" . TechNet . مايكروسوفت . 8 مايو 2014.
- ↑ ويلر، شون (7 سبتمبر 2021). "حول التحليل - باور شيل" . وثائق مايكروسوفت . تم الاسترجاع في 5 ديسمبر 2021 .
- ↑ "نظام أنواع ويندوز باور شيل الموسع" . تم الاطلاع عليه بتاريخ 28 نوفمبر 2007 .
- 1 2 3 "أوامر Windows PowerShell" . تم الاطلاع عليه بتاريخ 28 نوفمبر 2007 .
- ↑ "إنشاء أول أمر cmdlet لك" . تم الاطلاع عليه بتاريخ 28 نوفمبر 2007 .
- ↑ "Get-Verb" . TechNet . مايكروسوفت . 8 مايو 2014.
- ↑ "نظرة عامة على أوامر Cmdlet" . MSDN . مايكروسوفت . 8 مايو 2014.
- ↑ "إضافة معلمات لمعالجة مدخلات سطر الأوامر" . تم الاطلاع عليه بتاريخ 28 نوفمبر 2007 .
- ↑ "إضافة معلمات لمعالجة مدخلات خط الأنابيب" . تم الاطلاع عليه بتاريخ 28 نوفمبر 2007 .
- ↑ "موفرو Windows PowerShell" . تم الاطلاع عليه بتاريخ 14 أكتوبر 2010 .
- ↑ يوشيزاوا، توموكي؛ راموس، دورفال (29 سبتمبر 2012). "أوامر PowerShell 1.0" . مقالات TechNet . مايكروسوفت.
- ↑ يوشيزاوا، توموكي (10 يوليو 2012). "أوامر PowerShell 2.0" . مقالات TechNet . مايكروسوفت.
- ↑ ويلسون، إد (2013). "1: نظرة عامة على ويندوز باور شيل 3.0" . ويندوز باور شيل 3.0 خطوة بخطوة . سيباستوبول، كاليفورنيا: مطبعة مايكروسوفت . ISBN 978-0-7356-7000-6OCLC 829236530. يأتي Windows
PowerShell 3.0 مزودًا بحوالي 1000 أمر cmdlets على نظام التشغيل Windows 8
. - ↑ ويلسون، إد (2015). "1: نظرة عامة على ويندوز باور شيل 5.0" . ويندوز باور شيل خطوة بخطوة ( الطبعة الثالثة). ريدموند، واشنطن: مطبعة مايكروسوفت . ISBN 978-1-5093-0043-3OCLC 927112976. يأتي Windows PowerShell 5.0
مزودًا بحوالي 1300 أمر cmdlets على نظام التشغيل Windows 10
. - ↑ "دليل مستخدم Windows PowerShell: التوجيه والمسار في Windows PowerShell" . TechNet . Microsoft . تم الاطلاع عليه بتاريخ 27 سبتمبر 2011 .
- ↑ جونز، دون (2008). "ويندوز باور شيل - إعادة التفكير في مسار المعالجة" . مايكروسوفت تك نت . مايكروسوفت . تم الاطلاع عليه بتاريخ 28 نوفمبر 2007 .
- ↑ "مفاهيم كائنات ويندوز باور شيل" . مؤرشف من الأصل في 19 أغسطس 2007. تم الاطلاع عليه في 28 نوفمبر 2007 .
- ↑ "كيف يعمل تنسيق وإخراج PowerShell حقًا" . تم الاطلاع عليه بتاريخ 28 نوفمبر 2007 .
- ↑ "المزيد - كيف يعمل تنسيق PowerShell حقًا؟" . تم الاطلاع عليه في 28 نوفمبر 2007 .
- ↑ "about_Pipelines" . TechNet . Microsoft . 8 مايو 2014.
- ↑ "about_Objects" . TechNet . Microsoft . 8 مايو 2014.
- 1 2 "about_Format.ps1xml" . TechNet . Microsoft . 8 مايو 2014.
- ↑ "الدوال المجهولة وكتل التعليمات البرمجية في PowerShell" . تم الاطلاع عليه بتاريخ 21 يناير 2012 .
- ↑ بايت، بروس (2007). ويندوز باور شيل عمليًا . مانينغ. ص 144. ISBN 978-1-932394-90-0.
- ↑ "مقدمة إلى متغيرات ويندوز باور شيل" . مؤرشف من الأصل في 27 مايو 2018. تم الاطلاع عليه في 28 نوفمبر 2007 .
- ↑ "تحويل البايت" . نصيحة ويندوز باور شيل لهذا الأسبوع . 22 أكتوبر 2009. تم الاطلاع عليه في 15 نوفمبر 2013 .
- ↑ رافيكانث (20 مايو 2013). "التحويل إلى وحدات الحجم (كيلوبايت، ميجابايت، جيجابايت، تيرابايت، وبيتابايت) دون استخدام مضاعفات باور شيل" . مجلة باور شيل .
- 1 2 3 "about_Functions" . مايكروسوفت تك نت . مايكروسوفت . 17 أكتوبر 2013. تم الاطلاع عليه في 15 نوفمبر 2013 .
- 1 2 "الاختبار الخفيف باستخدام Windows PowerShell" . تم الاطلاع عليه بتاريخ 28 نوفمبر 2007 .
- ↑ أنجيلوبولوس، أليكس؛ كارين، بيموفسكي (4 ديسمبر 2007). "باور شيل أصبح أكثر ذكاءً في استخدام علامات الاقتباس الذكية" . ويندوز آي تي برو . بنتون ميديا . تم الاطلاع عليه في 15 نوفمبر 2013 .
- ↑ "حول الأحرف الخاصة" . باور شيل / البرمجة النصية. مايكروسوفت . 8 يونيو 2017. تم الاطلاع عليه في 20 يونيو 2019 .
- ↑ "Trap [ Exception ] { "In PowerShell" }" . تم الاطلاع عليه بتاريخ 28 نوفمبر 2007 .
- ↑ "تشغيل برامج ويندوز باور شيل النصية" . مايكروسوفت . تم الاطلاع عليه بتاريخ 28 نوفمبر 2007 .
- ↑ "about_Signing" . مايكروسوفت تك نت . مايكروسوفت . 17 أكتوبر 2013. تم الاطلاع عليه في 15 نوفمبر 2013 .
- ↑ لي هولمز (سبتمبر 2006). مرجع سريع لـ Windows PowerShell . دار نشر أورايلي ميديا.
- ↑ eslesar (23 مايو 2023). "نظرة عامة على تكوين الحالة المطلوبة في Windows PowerShell" . msdn.microsoft.com .
- ↑ تشونغ، ليونارد؛ سنوفر، جيفري؛ كومارافيل، أرول (14 نوفمبر 2006). "انتهى الأمر! تم إصدار Windows PowerShell 1.0!" . مدونة Windows PowerShell . مايكروسوفت .
- ↑ «سيتم تثبيت PowerShell افتراضيًا على نظامي التشغيل Windows Server 2008 R2 (WS08R2) وWindows 7 (W7)!» مدونة Windows PowerShell . مايكروسوفت . 28 أكتوبر 2008. تم الاطلاع عليه في 27 سبتمبر 2011 .
- ↑ "إطار إدارة ويندوز متوفر الآن!" . 27 أكتوبر 2009. تم الاطلاع عليه بتاريخ 30 أكتوبر 2009 .
- ↑ "قاعدة معارف دعم مايكروسوفت: إطار إدارة ويندوز (Windows PowerShell 2.0، وWinRM 2.0، وBITS 4.0)" . Support.microsoft.com. 23 سبتمبر 2011. تم الاطلاع عليه في 27 سبتمبر 2011 .
- ↑ "574 سببًا يجعلنا فخورين ومتفائلين جدًا بشأن ويندوز 7 وويندوز 08 R2" . مدونة ويندوز باور شيل . مايكروسوفت . 29 أكتوبر 2008. تم الاطلاع عليه في 27 سبتمبر 2011 .
- ↑ سنوفر، جيفري (2008). "باور شيل: إنشاء خدمات ويب قابلة للإدارة" . مؤرشف من الأصل في 13 أكتوبر 2008. تم الاطلاع عليه في 19 يوليو 2015 .
- ↑ "ما الجديد في الإصدار التجريبي من PowerShell 2.0" . تم الاطلاع عليه بتاريخ 28 نوفمبر 2007 .
- ↑ "Windows PowerShell V2 Community Technology Preview 2 (CTP2) – releaseNotes" . مايكروسوفت . مؤرشف من الأصل في 6 مايو 2008. تم الاطلاع عليه في 5 مايو 2008 .
- ↑ "الاختلافات بين PowerShell 1.0 و PowerShell 2.0" . مؤرشف من الأصل بتاريخ 17 سبتمبر 2010. تم الاطلاع عليه بتاريخ 26 يونيو 2010 .
- ↑ جونز، دون (مايو 2010). "ويندوز باور شيل: كتابة أوامر Cmdlets في البرامج النصية" . مجلة TechNet . مايكروسوفت.
- ↑ "ملحق GoGrid - إدارة الخدمات السحابية باستخدام PowerShell" . مدونة Windows PowerShell . مايكروسوفت . 14 أكتوبر 2008. تم الاطلاع عليه في 27 سبتمبر 2011 .
- ↑ "Emit-XML" . مدونة ويندوز باور شيل . مايكروسوفت . 17 أكتوبر 2008. تم الاطلاع عليه في 27 سبتمبر 2011 .
- ↑ "حظر التعليقات في الإصدار الثاني" . مدونة ويندوز باور شيل . مايكروسوفت . 14 يونيو 2008. تم الاطلاع عليه في 27 سبتمبر 2011 .
- ↑ لي، توماس (13 أغسطس 2012). "إصدار PowerShell 3 جاهز للإصدار النهائي!" . موقع Under The Stairs . تاريخ الاسترجاع: 13 أغسطس 2012 .
- 1 2 3 "إطار إدارة ويندوز 3.0" . مركز التنزيل . مايكروسوفت . 4 سبتمبر 2012. تم الاطلاع عليه في 8 نوفمبر 2012 .
- ↑ "إطار إدارة ويندوز 3.0 - معاينة تقنية مجتمعية (CTP) رقم 2 - متاح للتنزيل" . مدونة ويندوز باور شيل . مايكروسوفت . 2 ديسمبر 2011.
- ↑ "إطار إدارة ويندوز 3.0" . مركز التنزيل . مايكروسوفت . 3 ديسمبر 2012.
- ↑ جوفري، خوان بابلو (14 ديسمبر 2016). "متطلبات نظام ويندوز باور شيل" . شبكة مطوري مايكروسوفت . مايكروسوفت . تم الاطلاع عليه في 20 أبريل 2017 .
- ↑ هاني كات، جيري (2012). وولي، فاليري (محررة). تقديم ويندوز 8: نظرة عامة لمتخصصي تكنولوجيا المعلومات . ريدموند، واشنطن: مطبعة مايكروسوفت . ISBN 978-0-7356-7050-1.
- ↑ "إطار إدارة ويندوز 4.0 متوفر الآن" . مايكروسوفت . 24 أكتوبر 2013. تم الاطلاع عليه في 4 نوفمبر 2013 .
- ↑ ليفي، شاي (25 يونيو 2013). "الميزات الجديدة في ويندوز باور شيل 4.0" . مجلة باور شيل . تم الاطلاع عليه في 26 يونيو 2013 .
- ↑ "تكوين الحالة المطلوبة في Windows Server 2012 R2 PowerShell" . القناة 9. مايكروسوفت . 3 يونيو 2013. مؤرشف من الأصل في 26 ديسمبر 2013. تم الاطلاع عليه في 26 يونيو 2013 .
- ↑ هول، أدريان (7 يونيو 2013). "أفكار من مؤتمر مايكروسوفت التقني التعليمي في أمريكا الشمالية" . المدونات: نصائح وحيل . سبلانك . تم الاطلاع عليه في 26 يونيو 2013 .
- ↑ «تمت إعادة نشر حزم Windows Management Framework (WMF) 5.0 RTM» . مدونة Windows PowerShell . مايكروسوفت . 24 فبراير 2016.
- ↑ "أسئلة وأجوبة" . جيت هاب . تم الاطلاع عليه في 21 أبريل 2015 .
- ↑ سنوفر، جيفري (3 أبريل 2014). "معاينة إطار إدارة ويندوز الإصدار 5" . blogs.technet.com . مايكروسوفت . مؤرشف من الأصل في 30 يونيو 2014. تم الاطلاع عليه في 21 أبريل 2015 .
- ↑ يقول ياب براسر (2 أغسطس 2016): "#نصيحة_باور_شيل أوامر باور شيل الجديدة في تحديث الذكرى السنوية لنظام التشغيل ويندوز 10" .
- ↑ "ما الجديد في ويندوز سيرفر 2016 الإصدار القياسي الجزء 9 - الإدارة والأتمتة" . 4 سبتمبر 2016.
- ↑ "Microsoft.PowerShell.LocalAccounts Module" . technet.microsoft.com . 16 يونيو 2016.
- ↑ "الإعلان عن معاينة إطار إدارة ويندوز (WMF) 5.1" . 16 يوليو 2016.
- ↑ "WMF 5.1" . مركز تنزيل مايكروسوفت .
- ↑ "ما هو ويندوز باور شيل؟ - باور شيل" . مايكروسوفت ليرن . 7 مارس 2024. تم الاطلاع عليه في 19 أغسطس 2024 .
- ↑ "الانتقال من ويندوز باور شيل 5.1 إلى باور شيل 7 - باور شيل" . مايكروسوفت ليرن . 2 أبريل 2024. تم الاطلاع عليه في 19 أغسطس 2024 .
- ↑ أيلو، جوي (11 يناير 2018). "PowerShell Core 6.0: متوفر الآن ومدعوم!" . مدونة فريق PowerShell . مايكروسوفت. مؤرشف من الأصل في 16 يوليو 2019. تم الاطلاع عليه في 11 يونيو 2018 .
- ↑ أيلو، جوي؛ ويلر، شون (10 يناير 2018). "دورة حياة دعم PowerShell الأساسية" . وثائق مايكروسوفت . مايكروسوفت . مؤرشف من الأصل في 16 نوفمبر 2018. تم الاسترجاع في 11 يناير 2018 .
- ↑ كالف، أنجيل (11 يناير 2018). "أهم 10 أسباب مثيرة للهجرة" . جلسة أسئلة وأجوبة حول PowerShell . مايكروسوفت .
- ↑ sdwheeler (3 أغسطس 2023). "ما الجديد في PowerShell Core 6.0" . learn.microsoft.com . تم الاطلاع عليه في 11 ديسمبر 2023.
الترميز الافتراضي هو UTF-8 بدون BOM باستثناء New-ModuleManifest
- ↑ "فهم ترميز الملفات في VS Code وPowerShell - PowerShell" . learn.microsoft.com . 29 نوفمبر 2023. تم الاطلاع عليه في 11 ديسمبر 2023 .
- ↑ أييلو، جوي (13 سبتمبر 2018). "الإعلان عن PowerShell Core 6.1" . devblogs.microsoft.com . مايكروسوفت . تم الاطلاع عليه في 1 يونيو 2019 .
- ↑ "PowerShell/PowerShell" . GitHub . تم الاطلاع عليه بتاريخ 22 يونيو 2020 .
- 1 2 3 لي، ستيف (5 أبريل 2019). "الإصدار التالي من باور شيل - باور شيل 7" . مايكروسوفت . تم الاطلاع عليه في 1 يونيو 2019 .
- ↑ لي، ستيف (28 مارس 2019). "التوفر العام لـ PowerShell Core 6.2" . devblogs.microsoft.com . مايكروسوفت . تم الاطلاع عليه في 1 يونيو 2019 .
- ↑ ماكي، كورت (30 مايو 2019). "مايكروسوفت تُصدر معاينة PowerShell 7" . 1105 Media Inc. تم الاطلاع عليه في 1 يونيو 2019 .
- ↑ لي، ستيف (30 مايو 2019). "خارطة طريق PowerShell 7" . devblogs.microsoft.com . مايكروسوفت . تم الاطلاع عليه بتاريخ 12 أغسطس 2020 .
- ↑ "معاينة PowerShell 7 الإصدار 5 | PowerShell" . 23 أكتوبر 2019. مؤرشف من الأصل في 15 فبراير 2020. تم الاطلاع عليه في 5 مارس 2020 .
- ↑ "PowerShell 7.2 هو الإصدار الجديد من الجيل التالي من واجهة سطر الأوامر من مايكروسوفت" . itsfoss.net . 12 نوفمبر 2021.
- ↑ "إصدار PowerShell v7.3.0 · PowerShell/PowerShell" . GitHub . مؤرشف من الأصل في 9 نوفمبر 2022. تم الاطلاع عليه في 7 مارس 2022 .
- ↑ "إصدار PowerShell v7.4.7 · PowerShell/PowerShell" . GitHub . تم الاطلاع عليه بتاريخ 27 يناير 2025 .
- ↑ sdwheeler (23 يناير 2025). "ما الجديد في PowerShell 7.4 - PowerShell" . learn.microsoft.com . تم الاطلاع عليه في 27 يناير 2025 .
- ↑ sdwheeler (23 يناير 2025). "ما الجديد في PowerShell 7.5 - PowerShell" . learn.microsoft.com . تم الاطلاع عليه في 27 يناير 2025 .
- ↑ "إصدار PowerShell v7.5.0 · PowerShell/PowerShell" . GitHub . تم الاطلاع عليه بتاريخ 27 يناير 2025 .
- ↑ "إصدار 7.6.0 من PowerShell · PowerShell/PowerShell" . GitHub . تم الاطلاع عليه في 27 يناير 2025 .
- ↑ sdwheeler (17 يناير 2025). "ما الجديد في PowerShell 7.6 - PowerShell" . learn.microsoft.com . تم الاطلاع عليه في 27 يناير 2025 .
- ↑ "القطران والتجعيد يصلان إلى ويندوز! - مجتمع مايكروسوفت التقني - 382409" . 22 مارس 2019. مؤرشف من الأصل في 11 سبتمبر 2020. تم الاطلاع عليه في 17 مايو 2020 .
- ↑ "Schtasks.exe" . 12 مارس 2023. تم الاطلاع عليه في 25 مايو 2025 .
- ↑ ويلر، شون (2 يونيو 2020). "حول البرامج النصية" . مستندات مايكروسوفت . مايكروسوفت.
- ↑ ويلر، شون؛ سماتلاك، ديفيد؛ ويلسون، تشيس (16 أكتوبر 2019). "كيفية كتابة بيان وحدة PowerShell" . وثائق . مايكروسوفت.
- ↑ ويلر، شون؛ سماتلاك، ديفيد (22 نوفمبر 2019). "كيفية كتابة وحدة برمجة نصية PowerShell" . وثائق مايكروسوفت . مايكروسوفت.
- ↑ ويلر، شون؛ جوفري، خوان بابلو؛ فوروبيف، سيرجي؛ نيكولايف، كيريل؛ كولتر، ديفيد (2 يونيو 2020). "حول Types.ps1xml" . وثائق مايكروسوفت . مايكروسوفت.
- ↑ ويلر، شون؛ جوفري، خوان بابلو؛ فوروبيف، سيرجي؛ نيكولايف، كيريل؛ كولتر، ديفيد. "Export-Console" . وثائق مايكروسوفت . مايكروسوفت.
- ↑ ويلر، شون (2 يونيو 2020). "حول ملفات تكوين الجلسة" . وثائق مايكروسوفت . مايكروسوفت.
- ↑ ويلر، شون (2 يونيو 2020). "ملف قدرات دور PS الجديد" . وثائق مايكروسوفت . مايكروسوفت.
- ↑ "مجموعة برامج مايكروسوفت ترانسبورتر لـ Lotus Domino" . مايكروسوفت . تم الاطلاع عليه في 7 مارس 2008 .
- ↑ "PowerTools for Open XML" . تم الاطلاع عليه في 20 يونيو 2008 .
- ↑ "MO74: WebSphere MQ – مكتبة Windows PowerShell" . تم الاطلاع عليه في 5 ديسمبر 2007 .
- ↑ "خيارات سطر الأوامر لإضافات IoT Core" . 15 أكتوبر 2018. تم الاطلاع عليه في 13 يونيو 2020 .
- ↑ "أوامر PowerShell لـ Active Directory من Quest Software" . تم الاطلاع عليه في 2 يوليو 2008 .
- ↑ "التحكم عن بعد باستخدام PowerShell من خلال سياسة المجموعة" . تم الاطلاع عليه في 7 ديسمبر 2007 .
- ↑ "VMware vSphere PowerCLI" . تم الاطلاع عليه في 9 سبتمبر 2014 .
{{cite web}}: CS1 maint: deprecated archiveal service ( link ) - ↑ "المعاينة التقنية الثانية لموفر PowerShell في IIS7" . مدونة Windows PowerShell . مؤرشف من الأصل في 4 فبراير 2010. تم الاطلاع عليه في 3 يوليو 2008 .
- ↑ "شكرًا لفريق تشخيص ويندوز 7" . تم الاطلاع عليه في 15 يونيو 2009 .
- ↑ مايكل، نيهوس (10 يوليو 2009). "الميزة الجديدة رقم 16 في MDT 2010: دعم PowerShell" . تم الاطلاع عليه في 27 أكتوبر 2014 .
- ↑ "شكرًا لشركة NetApp على مجموعة أدوات PowerShell الخاصة بنظام Data ONTAP" . تم الاطلاع عليه في 15 يونيو 2010 .
- ↑ "إعلان عن مجموعة أدوات PowerShell 4.2" . 23 يونيو 2016. تم الاطلاع عليه في 7 سبتمبر 2016 .
- ↑ "جدولة المهام غير المتجانسة باستخدام PowerShell" . تم الاطلاع عليه في 15 سبتمبر 2010 .
- ↑ "ملحقات UIAutomation PowerShell" . مؤرشف من الأصل في 17 أغسطس 2016. تم الاطلاع عليه في 16 فبراير 2012 .
- ↑ "EqualLogic HIT-ME with PowerShell" . تم الاطلاع عليه في 9 مارس 2012 .
- ↑ de:LOGINventory
- ↑ "Selenium PowerShell eXtensions" . تم الاطلاع عليه بتاريخ 20 أغسطس 2012 .
{{cite web}}: CS1 maint: deprecated archiveal service ( link )
للمزيد من القراءة
- فينكي، دوغلاس (2012). ويندوز باور شيل للمطورين . دار نشر أورايلي ميديا . رقم ISBN 978-1-4493-2270-0.
- هولمز، لي (2006). مرجع سريع لـ Windows PowerShell . دار نشر أورايلي ميديا . رقم ISBN 0-596-52813-2.
- هولمز، لي (2007). كتاب طبخ ويندوز باور شيل . دار نشر أورايلي . رقم ISBN 978-0-596-52849-2.
- جونز، دون؛ هيكس، جيفري (2010). ويندوز باور شيل 2.0: دليل المستخدم ( الطبعة الثالثة). سابين تكنولوجيز. ISBN 978-0-9821314-2-8.
- جونز، دون (2020). قشرة فكرة: التاريخ غير المروي لـ PowerShell . منشور ذاتيًا. ISBN 978-1-9536450-3-6.
- كوبتشينسكي، تايسون؛ هاندلي، بيت؛ شو، ماركو (2009). ويندوز باور شيل غير المقيد ( الطبعة الثانية). بيرسون للتعليم . ISBN 978-0-672-32988-3.
- كومارافيل، أرول؛ وايت، جون؛ نايكسين لي، مايكل؛ هابيل، سكوت؛ شي، غوهوي؛ فوتوكوري، كريشنا سي. (2008). برمجة ويندوز باور شيل الاحترافية: Snapins، Cmdlets، Hosts، وProviders . دار نشر Wrox . رقم ISBN 978-0-470-17393-0.
- أوكلي، آندي (2005). موناد (المعروفة أيضًا باسم باور شيل) . دار نشر أورايلي ميديا . رقم ISBN 0-596-10009-4.
- وات، أندرو (2007). ويندوز باور شيل الاحترافي . دار نشر وروكس . رقم ISBN 978-0-471-94693-9.
- ويلسون، إد (2013). ويندوز باور شيل 3.0 خطوة بخطوة . مطبعة مايكروسوفت . رقم ISBN 978-0-7356-6339-8.
- ويلسون، إد (2014). أفضل ممارسات ويندوز باور شيل . مطبعة مايكروسوفت . رقم ISBN 978-0-7356-6649-8.
روابط خارجية
- الموقع الرسمي

- PowerShell على GitHub
- دليل البقاء على قيد الحياة في ويندوز باور شيل، مؤرشف بتاريخ 15 سبتمبر 2012، على موقع Wayback Machine في TechNet Wiki
- إطار إدارة ويندوز، مؤرشف بتاريخ 8 مارس 2026، على موقع Wayback Machine
- أوامر ويندوز
- لغات برمجة .NET
- إدارة التكوين
- لغات البرمجة ذات الكتابة الديناميكية
- برامج مملوكة سابقًا
- المترجمون الفوريون (في مجال الحوسبة)
- برامج مايكروسوفت المجانية
- لغات برمجة مايكروسوفت
- لغات البرمجة الكائنية التوجه
- لغات البرمجة الإجرائية
- لغات البرمجة التي تم إنشاؤها في عام 2006
- لغات البرمجة النصية
- برنامج مرخص بموجب ترخيص MIT
- لغات البرمجة النصية
- أنظمة يونكس
- إدارة نظام التشغيل ويندوز
- واجهات أوامر ويندوز
