إذا قررت تثبيت PowerShell 5.1، فقد قمت بإنشاء دليل فني يحتوي على بعض النصوص البرمجية لتوتير هذه العملية بشكل تلقائي بالنسبة لك. تنويه: جميع الشفرات المذكورة في هذه المشاركة هي “كما هي”. قد تعمل بعضها وقد لا تعمل في بيئتك، ولكن إذا لم يكن لديك أي شيء للبدء به، فسوف تكون قالبًا لك للبدء به.
إذا كنت بحاجة إلى مساعدة في معرفة الإصدار الذي تستخدمه من PowerShell، فأوصي بالاطلاع على كيفية التحقق من إصدار PowerShell الخاص بك (بجميع الطرق الممكنة!).
الخطوة رقم 1: الاكتشاف
الخطوة الأولى في ترقية PowerShell على مستوى المؤسسة هي الاكتشاف. كيف تبدو الحالة الحالية؟ لا يمكنك تغيير شيء ما قبل فهمه، ومن المدهش أن العديد من المؤسسات ليس لديها أي فكرة عن ما لديها!
أنظمة التشغيل الحالية
المهمة الأولى هي فهم أنظمة التشغيل التي تستخدمها حاليًا والتي ترغب في تثبيت PowerShell 5.1 عليها. على الرغم من ذلك، في بعض الأنظمة، قد تكون قد قررت بالفعل تثبيت PowerShell 5.1 ولكنك لا تعلم ذلك. تم إصدار PowerShell 5.1 كأداة مدمجة في تحديث الذكرى السنوية لنظام التشغيل Windows 10 وفي إصدار RTM لنظام التشغيل Windows Server 2016، لذا إذا كان لديك أحد هذين النظامين أو أحدث، فأنت بالفعل في حالة جيدة.
بالنسبة للأنظمة الأخرى، تأكد من تجميع قائمة. ليس لديك أداة إدارة النظام مثل SCCM؟ لا مشكلة! استخدم PowerShell لمساعدة PowerShell! إذا كان لديك Active Directory، فإليك أمر سطر واحد سريع للحصول على نظرة شاملة على ما يوجد هناك.
كيف يبدو بيئتك؟ هل لديك أي أجهزة قديمة تعمل بنظام Windows XP أو Server 2003؟ إذا كان الأمر كذلك، فأنت في حالة سوء حظ. أفضل شيء يمكنك القيام به هنا هو PowerShell v2، ولكن إذا كان لديك بعض هذه الأجهزة في بيئتك، فإن PowerShell هو أقل ما يشغل بالك! بالنسبة لأي نظام تشغيل يحتوي على Windows 7 SP1 / Windows Server 2008R2 SP1 أو أعلى، يمكن تثبيت PowerShell 5.1.
إنشاء قائمة مسبقة للمتطلبات
على أنظمة التشغيل المناسبة، يوجد بعض المتطلبات الأساسية والمتطلبات اللازمة لتثبيت PowerShell 5.1 قبل أن يعمل.
- يجب تثبيت إصدار .NET Framework 4.5.2 على الأقل. هذا ليس متطلبًا للتثبيت، وسيتم استمرار عملية التثبيت بدونه، ولكن بعض الميزات لن تعمل، لذا قم بتثبيته بالفعل!
- يجب عدم تثبيت PowerShell 5.1 Preview
- في حالة تثبيت PowerShell v3 على أجهزة Windows 7 أو Server 2008R2، يجب أن تحفظ قيمة
PSModulePath
أو تقوم بالترقية أولاً إلى الإصدار v4. - على أجهزة Windows 7 أو Server 2008R2، إذا كنت تستخدم DSC، تأكد من تمكين WinRM.
- سيحتاج التثبيت إلى إعادة تشغيل، لذا تأكد من جدولة ذلك.
لأنني كسول وأعتزم أن تكون كذلك، هنا سكربت صغير أعدته لمساعدتك في معرفة نوع العمل الأساسي المطلوب. بالنسبة لمتطلب WinRM ، يمكنك تضمين الشفرة من this script الخاص بي هناك أيضًا حيث تقوم بلمس كل جهاز. ومع ذلك ، عليك أن تعلم أن هذا النهج يتطلب تمكين PowerShell Remoting على كل جهاز.
تأكيد تشغيل البرامج النصية الحالية مع PowerShell 5.1
على الرغم من أن أعضاء فريق PowerShell ألم يخبروني بأن جميع البرامج النصية يجب أن تعمل مع PowerShell 5.1 ، إلا أن هذا ليس الحال دائمًا. بالنسبة لأي كود يقوم بتشغيل العمليات التجارية الحرجة ، أوصي دائمًا بتثبيت الإصدار 5.1 على نفس نظام التشغيل لجهاز آخر وتنفيذ جميع الاختبارات بهذه الطريقة فقط للتأكد.
الخطوة رقم 2: التنفيذ
بمجرد الانتهاء من جميع المتطلبات الأولية والاستعداد لبدء تنفيذ PowerShell 5.1 ، فإن الخطوة التالية هي القيام بذلك! إطلاق الإصدار 5.1 مشابه لنشر البرامج الأخرى. كيفية القيام بذلك تعتمد على الأدوات التي تمتلكها بالفعل. على سبيل المثال ، إذا كان لديك Active Directory وترغب في استخدام سياسات المجموعة ، فيمكنك الذهاب بهذا الطريق ، وسيعمل SCCM بنفس الطريقة. أحاول أن أكون غير منتج هنا ، لذا ها هي الطريقة التي سأقوم بها بالطبع باستخدام PowerShell!
أولاً ، سأقوم بإنشاء مجلد على جهازي المحلي يسمى C:\PowerShellDeployment
. بعد ذلك ، سأقوم بتنزيل الإصدار/الإصدارات المناسبة التي أحتاجها إلى ذلك المجلد و سأحصل على نسخة من psexec أثناء ذلك. بعد ذلك ، نظرًا لأن PowerShell لا يمكنه ترقية نفسه ، فإننا بحاجة للعودة إلى VBScript الجيد القديم. إليك نص صغير قمت بإنشائه منذ فترة طويلة سيساعدك في البدء. سأحفظه في C:\PowerShellDeployment\installPs.vbs
.
بمجرد أن يتم حفظ ملف VBS على الجهاز المحلي ، أنشئ نصًا لسيناريو PowerShell مثل هذا واحتفظ به في مكان ما.
قم بتنفيذ السيناريو أعلاه ، وسيقوم بفحص ما إذا كان الكمبيوتر متصلاً بالإنترنت ، ونسخ مثبت PowerShell وملف VBS إلى الكمبيوتر البعيد ، وتنفيذه ، وتنظيف بعد نفسه ، وإعادة تشغيل الكمبيوتر. كالعادة ، قم بجدولة هذا في نافذة صيانة! تثبيت PowerShell يتطلب إعادة تشغيل ، وهذا سيقوم بذلك بدون تردد.