كيفية كتابة وتشغيل ملف سكريبت PowerShell على Windows ١١

باور شيل هو أداة سطر أوامر تم تطويرها بواسطة مايكروسوفت لأتمتة المهام الإدارية الشائعة. سكريبت هو مجموعة من أوامر باور شيل، تُخزن في ملف نصي، بامتداد ملف *.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 التي لا تحتوي على معلمات مطلوبة ولا تُرجع الناتج إلى سطر الأوامر.

  1. انقر بزر الماوس الأيمن فوق نص PowerShell في مستكشف الملفات.
  2. حدد تشغيل بواسطة PowerShell من قائمة السياق.
  3. سيتم تشغيل النص مع سياسة تنفيذ الأمر 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 من قائمة البدء.

Opening Visual Studio Code from the Windows 11 Start Menu

تثبيت امتداد PowerShell

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

الإعلان

Open the extensions menu from the left sidebar

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

Find the PowerShell extension

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

Disable and Uninstall options appear after installing the extension

كيفية إنشاء نص PowerShell باستخدام Visual Studio Code

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

Creating a new PowerShell script

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

Specify that the new file is a PowerShell script

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

Starting the PowerShell Console

يمكن تحقيق نفس النتيجة من خلال حفظ الملف بامتداد *.ps1.

اكتب الأوامر التالية في لوحة السكريبت وستستمتع بفوائد مثل التلوين بالألوان، استكمال الأوامر تلقائيًا، وتلميحات بنية الجملة في العمل:

Write-Host "This is a Visual Studio Code script"
Write-Host "Writing PowerShell Scripts is fun!"
How to type commands in the script pane

ملاحظة: السطر الثالث لأغراض توضيحية فقط، لإظهار خيار اكتمال الأمر.

لحفظ الملف، يمكنك استخدام قائمة الملفات: File > Save. يمكنك أيضًا استخدام اختصار لوحة المفاتيح Ctrl + S.

بعد ذلك، استخدم مكانًا سهل الوصول، حدد اسم الملف، تأكد من تحديد *.ps1 كامتداد للملف، وانقر على Save. في هذا المثال، سأقوم بحفظ الملف في C:\TEMP\MyVSCodeScript.ps1.

Save your file as a .ps1

سيتم تغطية تنفيذ السكربتات في VS Code لاحقًا في المقال.

إنشاء السكربتات باستخدام Windows PowerShell ISE

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

You need to run the PowerShell ISE as an administrator

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

Write-Host "This is a PowerShell ISE script"
Write-Host "Writing PowerShell Scripts is fun!"

 

Creating a script in the PowerShell ISE

ملاحظة: السطر الثالث لأغراض التوضيح فقط ، لإظهار خيار إكمال الأمر.

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

في حفظ ك الحوار ، اختر مجلدًا ، وأعط اسمًا للملف ، وحدد امتداد *.ps1 ، وانقر على حفظ. في هذا المثال ، أقدم الاسم التالي: C:\TEMP\MyPowerShellISEScript.ps1.

Saving your PowerShell script

إنشاء سير باستخدام NotePad

لا يُنصح باستخدام محرر نص أساسي لكتابة سير PowerShell ، لكن هذا خيار ممكن. دعونا نأخذ مثالًا مع NotePad

  • افتح NotePad واكتب الأوامر التالية:
Write-Host "This is a Notepad script"
Write-Host "Writing PowerShell Scripts is fun!
You can write PowerShell scripts in NotePad
  • لحفظ السيرة ، حدد ملف > حفظ.
  • في حفظ ك الحوار ، اختر مجلدًا وأعط اسمًا للملف بامتداد *.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

الترتيب مهم، لذا يأخذ أعلى عنصر معين أولوية. على سبيل المثال، إذا قمت بتعيين سياسة التنفيذ باستخدام سياسة المجموعة، فستأخذ أولوية على الآخرين.

The highest configured item takes precedence
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.
The different PowerShell execution policies

للسماح لباورشيل بتشغيل السيرفرات، تحتاج إلى استخدام Set-ExecutionPolicy -ExecutionPolicy <PolicyName> الأمر.

Set-ExecutionPolicy -ExecutionPolicy <PolicyName>

بشكل افتراضي، ينطبق هذا الأمر على سياستك المختارة الآلة المحلية النطاق. إذا كنت ترغب في تحديد نطاق مختلف، يجب عليك استخدام -Scope المعلمة وتوفير اسم النطاق.

على سبيل المثال، يضع الأمر التالي سياسة التنفيذ على غير مقيد للمستخدم الحالي:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser

تشغيل سيرفر باستخدام باورشيل

لفتح وحدة التحكم باورشيل، انقر على زر البدء (أو زر البحث)، اكتب powershell، وانقر على تشغيل كمسؤول.

Run the PowerShell console as an administrator

لتشغيل سيرفر في وحدة التحكم باورشيل، يمكنك إما:

  • استخدام المسار الكامل إلى السيرفر، مثل: C:\TEMP\MyNotepadScript.ps1
  • أو استخدام اسم السيرفر فقط، من المجلد الذي يوجد فيه الملف: .\MyNotepadScript.ps1

تشغيل سيرفر باورشيل في فيجوال ستوديو كود

لتشغيل سيرفر في فيجوال ستوديو كود، تحتاج أولاً إلى بدء التطبيق وفتح ملف السيرفر المنشأ سابقاً (C:\TEMP\MyVSCodeScript.ps1).

  • حدد ملف > فتح ملف أو استخدم اختصار لوحة المفاتيح Ctrl + O.
  • مع تحميل السكربت في VS Code، يمكنك تنفيذه بالنقر على زر تشغيل في الزاوية العلوية اليمنى، أو بالضغط على F5 على لوحة المفاتيح.

سيتم تنفيذ السكربت في لوحة الكونسول، حيث ستشاهد ناتج السكربت.

The script is being executed in the console pane

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

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

هذه المرة، يقوم VS Code بتنفيذ الأسطر المحددة فقط من الشفرة في لوحة الكونسول.

How to run only a part of a script

تشغيل سكربت في PowerShell ISE

تشغيل السكربتات في PowerShell ISE مشابه جدًا.

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

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

Running a script in the PowerShell ISE

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

You can also execute only part of the script

تشغيل نص برمجي 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/