باور شيل هو أداة سطر أوامر تم تطويرها بواسطة مايكروسوفت لأتمتة المهام الإدارية الشائعة. سكريبت هو مجموعة من أوامر باور شيل، تُخزن في ملف نصي، بامتداد ملف *.ps1. عند تنفيذ سكريبت باور شيل، يقوم المترجم بقراءة الملف وتشغيل الأوامر تباعًا.
يمكنك إنشاء سكريبت باور شيل باستخدام أي محرر نصوص (حتى NotePad). ولكن من الأفضل استخدام محرر سكريبت باور شيل. المحرر الافتراضي المضمن في ويندوز هو بيئة تطوير السكريبت المتكاملة لـ باور شيل (PowerShell ISE). يتضمن وظائف مفيدة مثل تلوين الأكواد، استكمال الأكواد، تحقق الصيغة، تصحيح الأخطاء، الحفظ التلقائي، حماية ضد الانهيار، وما إلى ذلك.
لدى Microsoft محرر كود مجاني للمنصات المتعددة يسمى Visual Studio Code (VS Code) ، والذي يتوفر لأنظمة التشغيل Windows و Linux و macOS. يدعم مجموعة متنوعة من لغات البرمجة من خلال الامتدادات التي يمكنك تثبيتها، بما في ذلك PowerShell.
أحد مزايا Visual Studio Code هو دعمه لأحدث إصدارات PowerShell، بينما يدعم PowerShell ISE فقط حتى إصدار PowerShell 5.1.
كيفية تشغيل نص PowerShell (دليل سريع)
فيما يلي نظرة عامة سريعة على كيفية تشغيل نص PowerShell. تعمل الطريقة التالية لنصوص PowerShell التي لا تحتوي على معلمات مطلوبة ولا تُرجع الناتج إلى سطر الأوامر.
- انقر بزر الماوس الأيمن فوق نص PowerShell في مستكشف الملفات.
- حدد تشغيل بواسطة PowerShell من قائمة السياق.
- سيتم تشغيل النص مع سياسة تنفيذ الأمر Bypass. لا يتم تغيير سياسة التنفيذ للكمبيوتر أو المستخدم.
لمزيد من التفاصيل حول كتابة وتشغيل نصوص PowerShell، استمر في القراءة!
كيفية إنشاء نصوص PowerShell
يمكنك إنشاء نصوص PowerShell بعدة طرق:
- مع محرر الكود متعدد المنصات Visual Studio Code
- مع PowerShell ISE
- أو أي محرر نصوص آخر، مثل NotePad
إنشاء نصوص PowerShell باستخدام Visual Studio Code
لا يتوفر Visual Studio Code بشكل مباشر على نظام Windows، لذا يجب تنزيله من موقع موقع Visual Studio المخصص. في حالتنا، نحتاج إلى تنزيل التوزيعة الخاصة بنظام Windows، والتي تتوفر لأنظمة 64 بت و 32 بت وARM.
فيما يلي الخطوات المختلفة التي يجب اتباعها بعد تثبيت التطبيق. أولاً، ستحتاج إلى فتح Visual Studio Code من قائمة البدء.

تثبيت امتداد PowerShell
افتح قائمة الامتدادات عن طريق النقر على أيقونة الامتداد الموضحة في الشكل أدناه، أو استخدام اختصار لوحة المفاتيح Ctrl + Shift + X.

اكتب powershell في مربع البحث، حدد الخيار الأكثر تنزيلاً كما هو موضح أدناه، مع التأكد من تنزيل الامتداد الذي يقدمه Microsoft. ثم انقر فوق تثبيت.

عند اكتمال التثبيت، لن ترى أي تأكيد. ومع ذلك، سترى أن زر تثبيت قد استبدل بخيارات تعطيل و إلغاء التثبيت.

كيفية إنشاء نص PowerShell باستخدام Visual Studio Code
لإنشاء نص PowerShell جديد، انتقل إلى ملف > ملف جديد، أو استخدم اختصار لوحة المفاتيح Ctrl + N.

لتحديد أنّ الملف الجديد هو سكريبت باورشيل، انقر على Plain Text في الجانب الأيسر السفلي، أو Select a Language في لوحة السكريبت. أيًا كان الخيار الذي تختاره، سيُوجّهك إلى صندوق Select a Language Mode. اكتب powershell، ثم حدد PowerShell.

سيُحدث هذا تفعيلًا لامتداد باورشيل، وستلاحظ تغييرًا في السلوك والوظائف. ستلاحظ أولًا أنّ الرمز المجاور لاسم الملف سيتغير إلى باورشيل. كما ستلاحظ أنّ وحدة تحكم باورشيل ستبدأ، وهنا يمكنك تنفيذ أوامر وسكريبتات باورشيل.

يمكن تحقيق نفس النتيجة من خلال حفظ الملف بامتداد *.ps1.
اكتب الأوامر التالية في لوحة السكريبت وستستمتع بفوائد مثل التلوين بالألوان، استكمال الأوامر تلقائيًا، وتلميحات بنية الجملة في العمل:
Write-Host "This is a Visual Studio Code script" Write-Host "Writing PowerShell Scripts is fun!"

ملاحظة: السطر الثالث لأغراض توضيحية فقط، لإظهار خيار اكتمال الأمر.
لحفظ الملف، يمكنك استخدام قائمة الملفات: File > Save. يمكنك أيضًا استخدام اختصار لوحة المفاتيح Ctrl + S.
بعد ذلك، استخدم مكانًا سهل الوصول، حدد اسم الملف، تأكد من تحديد *.ps1 كامتداد للملف، وانقر على Save. في هذا المثال، سأقوم بحفظ الملف في C:\TEMP\MyVSCodeScript.ps1.

سيتم تغطية تنفيذ السكربتات في VS Code لاحقًا في المقال.
إنشاء السكربتات باستخدام Windows PowerShell ISE
للبدء بـ PowerShell ISE، انقر على زر البدء (أو زر البحث) وابدأ بكتابة PowerShell ISE. سترى التطبيق في نتائج البحث مع خيارات فتح مختلفة. من المستحسن دائمًا استخدام تشغيل كمسؤول للتأكد من أن جميع الأوامر سيتم تنفيذها بشكل صحيح وليس محظورة.

لذا ، دعونا ننشئ سيرة في PowerShell ISE. اكتب السطور التالية ، ومرة أخرى ، يمكنك ملاحظة ميزات مفيدة مثل التلوين المخصص وإكمال الأوامر تلقائيًا وإشارات بناء الجملة ، إلخ:
Write-Host "This is a PowerShell ISE script" Write-Host "Writing PowerShell Scripts is fun!"

ملاحظة: السطر الثالث لأغراض التوضيح فقط ، لإظهار خيار إكمال الأمر.
الآن دعونا نحفظ قائمة الأوامر كسيرة عمل PowerShell. للقيام بذلك ، تحتاج إلى النقر فوق رمز القرص المضغوط على شريط الأدوات ، ثم انقر على ملف > حفظ من قائمة الملفات. يمكنك أيضًا استخدام اختصار المفتاح Ctrl + S.
في حفظ ك الحوار ، اختر مجلدًا ، وأعط اسمًا للملف ، وحدد امتداد *.ps1 ، وانقر على حفظ. في هذا المثال ، أقدم الاسم التالي: C:\TEMP\MyPowerShellISEScript.ps1.

إنشاء سير باستخدام NotePad
لا يُنصح باستخدام محرر نص أساسي لكتابة سير PowerShell ، لكن هذا خيار ممكن. دعونا نأخذ مثالًا مع NotePad
- افتح NotePad واكتب الأوامر التالية:
Write-Host "This is a Notepad script" Write-Host "Writing PowerShell Scripts is fun!

- لحفظ السيرة ، حدد ملف > حفظ.
- في حفظ ك الحوار ، اختر مجلدًا وأعط اسمًا للملف بامتداد *.ps1. في هذا المثال ، أستخدم: C:\TEMP\MyNotepadScript.ps1.
كيفية تشغيل سيرفرات بايسبويل
A PowerShell script (*.ps1 file) can be run in the PowerShell console, which recognizes the *.ps1 file type and runs the commands sequentially. You may open the script as a file in code editors like the PowerShell ISE and Visual Studio Code, and run the whole script in the console pane or run only a part of it.
كيفية تمكين سيرفرات بايسبويل من خلال تغيير سياسة التنفيذ
سياسات التنفيذ في بايسبويل هي ميزة أمان تتحكم في الشروط التي يتم تحميل الملفات التخصيصية وتشغيل السيرفرات فيها. من المهم الإشارة إلى أن هذه ليست نظامًا أمنيًا لأن سياسات التنفيذ يمكن تجاوزها بسهولة. ومع ذلك، فإنها تساعد على حماية المستخدمين من تنفيذ السيرفرات غير المقصودة.
سياسة التنفيذ الافتراضية لويندوز 11 هي مقيدة. على أنظمة غير ويندوز، يكون السياسة الافتراضية هي غير مقيدة، ولا يمكن تغييرها.
لعرض سياسة التنفيذ الحالية، استخدم أمر بايسبويل Get-ExecutionPolicy.
يمكنك تغيير سياسة التنفيذ على ويندوز باستخدام الأمر Set-ExecutionPolicy:
Set-ExecutionPolicy -ExecutionPolicy <PolicyName>
سيتم مناقشة السياسات المختلفة للتنفيذ في الموضوع التالي.
تغيير سياسة تنفيذ بايسبويل
على ويندوز، يمكنك تعيين سياسة التنفيذ للجهاز المحلي، المستخدم الحالي، أو عملية بايسبويل.
لتسليط الضوء على جميع المجالات المتاحة، استخدم Get-ExecutionPolicy -List.
Get-ExecutionPolicy -List
الترتيب مهم، لذا يأخذ أعلى عنصر معين أولوية. على سبيل المثال، إذا قمت بتعيين سياسة التنفيذ باستخدام سياسة المجموعة، فستأخذ أولوية على الآخرين.

Policy | Description |
Restricted | The default execution policy for Windows client OSes. It does not allow ANY scripts (*.ps1 files) to be executed. Still, you may run individual commands. |
RemoteSigned | The default execution policy for Windows Server. It Allows running scripts that are created locally. Scripts downloaded from untrusted locations, like the Internet, e-mail, messengers, etc. must be digitally signed by a trusted publisher. You may use the command Unblock-File to allow a script to run on the system. |
Unrestricted | The default execution policy for non-Windows computers, and it cannot be changed. It allows unsigned scripts to run, but it shows a warning message and asks for confirmation if scripts are coming from an untrusted location. |
AllSigned | It requires all scripts running on the machine to be digitally signed by a trusted publisher, no matter if they are created locally on the machine or downloaded from the Internet. |
Bypass | It allows all scripts to run, like Unrestricted, but no confirmation is required. |
Undefined | There is no execution policy set on the specified scope. If all scopes are set as undefined, then the default execution policies are applied. |
للسماح لباورشيل بتشغيل السيرفرات، تحتاج إلى استخدام Set-ExecutionPolicy -ExecutionPolicy <PolicyName> الأمر.
Set-ExecutionPolicy -ExecutionPolicy <PolicyName>
بشكل افتراضي، ينطبق هذا الأمر على سياستك المختارة الآلة المحلية النطاق. إذا كنت ترغب في تحديد نطاق مختلف، يجب عليك استخدام -Scope المعلمة وتوفير اسم النطاق.
على سبيل المثال، يضع الأمر التالي سياسة التنفيذ على غير مقيد للمستخدم الحالي:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
تشغيل سيرفر باستخدام باورشيل
لفتح وحدة التحكم باورشيل، انقر على زر البدء (أو زر البحث)، اكتب powershell، وانقر على تشغيل كمسؤول.

لتشغيل سيرفر في وحدة التحكم باورشيل، يمكنك إما:
- استخدام المسار الكامل إلى السيرفر، مثل: C:\TEMP\MyNotepadScript.ps1
- أو استخدام اسم السيرفر فقط، من المجلد الذي يوجد فيه الملف: .\MyNotepadScript.ps1
تشغيل سيرفر باورشيل في فيجوال ستوديو كود
لتشغيل سيرفر في فيجوال ستوديو كود، تحتاج أولاً إلى بدء التطبيق وفتح ملف السيرفر المنشأ سابقاً (C:\TEMP\MyVSCodeScript.ps1).
- حدد ملف > فتح ملف أو استخدم اختصار لوحة المفاتيح Ctrl + O.

- مع تحميل السكربت في VS Code، يمكنك تنفيذه بالنقر على زر تشغيل في الزاوية العلوية اليمنى، أو بالضغط على F5 على لوحة المفاتيح.
سيتم تنفيذ السكربت في لوحة الكونسول، حيث ستشاهد ناتج السكربت.

خيار آخر هو تشغيل جزء فقط من السكربت (تشغيل التحديد). هذا غالبًا ما يكون مفيدًا عند إنشاء السكربت وترغب في التأكد من أن الأجزاء منه تعمل كما هو متوقع.
- لتشغيل جزء من السكربت، قم بتحديد الجزء الذي ترغب في تنفيذه.
- انقر على تشغيل التحديد في الزاوية العلوية اليمنى من الكونسول، أو اضغط على F8 على لوحة المفاتيح.
هذه المرة، يقوم VS Code بتنفيذ الأسطر المحددة فقط من الشفرة في لوحة الكونسول.

تشغيل سكربت في PowerShell ISE
تشغيل السكربتات في PowerShell ISE مشابه جدًا.
- قم بتشغيل PowerShell ISE.
- افتح السكربت من العرض السابق (في هذه الحالة – C:\TEMP\MyPowerShellISEScript.ps1) باستخدام ملف > فتح، أو أيقونة فتح من شريط الأدوات، أو اختصار لوحة المفاتيح Ctrl + O.
- حدد ملف السكربت وانقر على فتح.
لتنفيذ السكربت بالكامل، استخدم زر تشغيل على شريط الأدوات أو اضغط على F5 على لوحة المفاتيح. سيقوم ذلك بتنفيذ ملف السكربت في لوحة الكونسول، مع إرجاع النتيجة.

إذا كنت بحاجة إلى تنفيذ جزء فقط من النص البرمجي، فقم بتمييز القسم واختر تشغيل التحديد من شريط الأدوات، أو اضغط على F8 على لوحة المفاتيح. مرة أخرى، سيقوم PowerShell ISE بتنفيذ السطور المحددة فقط من الشيفرة.

تشغيل نص برمجي PowerShell من موجه الأوامر
إذا تم تفسير ملفات *.ps1 بواسطة PowerShell، فلا يمكن لموجه الأوامر (CMD) التعامل مع نصوص PowerShell مباشرة. إذا كنت ترغب في تشغيل نص برمجي PowerShell في CMD، فستحتاج إلى تنفيذه عن طريق استدعاء عملية PowerShell باستخدام المعامل -File، كما هو موضح أدناه:
PowerShell -File C:\TEMP\MyNotepadScript.ps1.
الخلاصة
نصوص PowerShell هي طريقة رائعة لأتمتة المهام المتكررة. اتبع القاعدة العامة: “إذا كنت بحاجة إلى القيام بشيء أكثر من مرة، قم بكتابته كنص برمجي”، ولن تخطئ!
مقال ذو صلة:
Source:
https://petri.com/how-to-write-and-run-a-powershell-script-file-on-windows-11/