تقديم PowerShell 7.0

يسعدنا اليوم أن نعلن عن إصدار إصدار PowerShell 7.0 (GA)  العام ! بادئ ذي بدء ، نود أن نشكر  العديد من المساهمين على جعل هذا الإصدار ممكنًا من خلال مشاركة التعليمات البرمجية والاختبارات والتوثيق والتعليقات حول المشكلات. لم يكن من الممكن PowerShell 7 بدون مساعدتك.



ما هو برنامج PowerShell 7؟


بالنسبة للمبتدئين ، يعد PowerShell 7 آخر تحديث رئيسي لـ PowerShell ، وهي أداة أتمتة عبر الأنظمة الأساسية (Windows و Linux و macOS) وبنية أساسية للتكوين محسنة للعمل مع البيانات المنظمة (مثل JSON و CSV و XML ، وما إلى ذلك) ، REST API ونماذج الكائن. يتضمن PowerShell غلاف سطر أوامر ولغة برمجة نصية موجهة للكائنات ومجموعة من الأدوات لتشغيل البرامج النصية / cmdlets وإدارة الوحدات النمطية.

منذ ثلاث سنوات ، أعلنا عن PowerShell Core 6 كإصدار جديد تمامًا من PowerShell. استنادًا إلى .NET Core ، قدم PowerShell Core دعمًا عبر الأنظمة الأساسية لنظامي التشغيل Windows و macOS و Linux و PowerShell Remoting القائم على SSH وتحسين دعم REST و JSON بشكل ملحوظ وحاويات Docker الرسمية وغير ذلك الكثير. بالإضافة إلى ذلك ، كان هذا هو الإصدار الأول من PowerShell ، الذي تم إنشاؤه بموجب ترخيص مفتوح المصدر (MIT) ، يشجع هواة PowerShell والمبتدئين على حد سواء على المساهمة على الفور في التعليمات البرمجية المصدر والاختبارات والوثائق.

بعد ثلاثة إصدارات ناجحة من PowerShell Core ، يسعدنا أن نرى PowerShell 7 ، الفصل التالي في التطوير المستمر لـ PowerShell. في PowerShell 7 ، بالإضافة إلى العديد من أوامر cmdlets / API الجديدة وإصلاح الأخطاء، نقدم عددًا من الميزات الجديدة ، بما في ذلك:

  • موازاة خط الأنابيب مع ForEach-Object-Parallel
  • عوامل التشغيل الجديدة:
    • عامل الثلاثي: أ؟ ب: ج
    • عوامل تشغيل سلسلة خطوط الأنابيب: || و &&
    • عبارات اندماج فارغة: ؟؟ و ؟؟ =
  • عرض خطأ مبسط وديناميكي وأمر cmdlet Get-Error للتحقيق بسهولة أكبر في الأخطاء
  • مستوى توافق يسمح للمستخدمين باستيراد الوحدات النمطية في جلسة Windows PowerShell ضمنية
  • إخطارات التحديث التلقائي
  • القدرة على استدعاء موارد DSC مباشرة من PowerShell 7 (تجريبي)

للحصول على قائمة كاملة بالميزات والإصلاحات ، انظر  هنا .

الترقية من PowerShell Core 6.x إلى 7.0 تعني أيضًا الترقية من .NET Core 2.x إلى 3.1. يقوم .NET Core 3.1 بإرجاع العديد من واجهات برمجة تطبيقات .NET Framework (خاصة في Windows) ، مما يوفر توافقًا عكسيًا أكبر بكثير مع وحدات Windows PowerShell الحالية. يتضمن هذا العديد من الوحدات النمطية على Windows التي تتطلب وظائف GUI مثل Out-GridView و Show-Command ، بالإضافة إلى العديد من وحدات إدارة الأدوار التي يتم شحنها كجزء من Windows. لمزيد من المعلومات ، راجع مخطط توافق الوحدة النمطية ، الذي يوضح كيف يمكنك استخدام أحدث الوحدات الحديثة التي تعمل مع PowerShell 7.

إذا لم تكن قادرًا على استخدام PowerShell Core 6.x في الماضي بسبب مشكلات توافق الوحدة ، فقد يكون هذا هو الوضع عندما تستفيد من بعض الميزات التي قدمناها بالفعل منذ إطلاق مشروع Core!

رائع! كيف تحصل على PowerShell 7؟


للبدء ، تحقق من وثائق التثبيت لنظام  التشغيل Windows أو  macOS أو  Linux . قد يكون هناك العديد من طرق التثبيت اعتمادًا على إصدار نظام التشغيل لديك وتنسيق الحزمة المفضلة.

إذا كنت تعرف بالفعل ما يجب فعله وتبحث فقط عن حزمة ثنائية (سواء كانت MSI أو ZIP أو RPM أو أي شيء آخر) ، فانتقل إلى أحدث علامة إصدار لدينا على GitHub .

بدلاً من ذلك ، يمكنك استخدام إحدى صور Docker العديدة لدينا . لمزيد من المعلومات حول استخدامها ، راجع مستودع PowerShell-Docker .

ما هي أنظمة التشغيل التي يدعمها PowerShell 7؟


يدعم PowerShell 7  أنظمة تشغيل  x64 التالية ، بما في ذلك:

  • Windows 7 و 8.1 و 10
  • Windows Server 2008 R2 و 2012 و 2012 R2 و 2016 و 2019
  • macOS 10.13+
  • Red Hat Enterprise Linux (RHEL) / CentOS 7+
  • فيدورا 29+
  • دبيان 9+
  • أوبونتو 16.04+
  • openSUSE 15+
  • Alpine Linux 3.8+

بالإضافة إلى ذلك ، ندعم إصدارات ARM32 و ARM64 من Debian و Ubuntu ، بالإضافة إلى ARM64 Alpine Linux.

على الرغم من عدم دعمه رسميًا ، فقد قدم المجتمع أيضًا حزمًا لـ Arch و Kali Linux .

إذا كنت بحاجة إلى دعم لمنصة غير مدرجة في هذه القائمة ، فأرسل طلب توزيع إلى GitHub (على الرغم من أنه يجب ملاحظة أننا مقيدون في النهاية بأن .NET Core 3.1 مدعوم ).

انتظر ، ماذا حدث لـ PowerShell "Core"؟


مثل .NET مع .NET 5 ، نعتقد أن PowerShell 7 يمثل نهاية طريقنا إلى أقصى توافق عكسي مع Windows PowerShell. في هذا الصدد ، نعتقد أن PowerShell 7 والإصدارات الأحدث هي PowerShell الوحيدة المدعومة في المستقبل.

سيستمر ظهور PowerShell 7 في إصدار Core لتمييز 6.x / 7.x عن Windows PowerShell ، ولكن بشكل عام سترى أنه سيشار إليه في المستقبل باسم "PowerShell 7".

ما منتجات Microsoft التي تدعم PowerShell 7 بالفعل؟


يتم أيضًا دعم أي وحدة نمطية مدعومة بالفعل بواسطة PowerShell Core 6.x في PowerShell 7 ، بما في ذلك:


في Windows ، أضفنا أيضًا المعلمة -UseWindowsPowerShell إلى وحدة الاستيراد لتبسيط الانتقال إلى PowerShell 7 لأولئك الذين يستخدمون وحدات غير متوافقة. ينشئ هذا الخيار وحدة وكيل في PowerShell 7 تستخدم عملية Windows PowerShell المحلية لتشغيل أي أوامر cmdlets المضمنة في هذه الوحدة. لمزيد من المعلومات حول هذه الميزة ، تحقق من وثائق استيراد الوحدة النمطية .

بالنسبة إلى هذه الوحدات التي لا تزال غير متوافقة ، نعمل مع عدد من الزملاء لإضافة دعم مضمن لـ PowerShell 7 ، بما في ذلك Microsoft Graph و Office 365 وغيرها. تم تحديث

Azure Cloud Shell بالفعل لاستخدام PowerShell 7 ، في حين أن البعض الآخر ، مثل حاويات .NET Core SDK Docker وسيتم تحديث ميزات Azure قريبًا.

ماذا بعد؟


نحن نعمل جاهدين بالفعل على PowerShell 7.1 ، ويمكنك توقع أول معاينة له في المستقبل القريب ، مليئة بالميزات والإصلاحات الجديدة التي لم يتم تضمينها في الإصدار 7.0. ترقبوا مدونة خريطة الطريق الأكثر تفصيلاً والتي تحدد بحثنا ورغباتنا الحالية لـ 7.1.

كما هو مذكور أعلاه ، نحن ننتقل أيضًا إلى تكرار إصدار سنوي لمطابقة إصدارات .NET ودورة حياة الدعم الخاصة بها بشكل أفضل (يستمر إصدار الإصدارات التجريبية كل شهر تقريبًا).

All Articles