تشغيل برنامج بوويرشيل النصي من سطر الأوامر. كتابة البرامج النصية وتشغيلها في PowerShell

1. كتابة السيناريو

البرنامج النصي PowerShell (بغض النظر عن الإصدار) هو ملف نصي بامتداد *.ps1.

فيما يلي مثال لبرنامج Power Shell النصي البسيط (ملف systemInfo.ps1):

# استرداد كائن WMI لنظام التشغيل

الحصول على WmiObject Win32_OperatingSystem

يمكن إنشاء هذا الملف وتحريره، على سبيل المثال، في FAR Manager.

ملحوظةأن FAR Manager، على الرغم من أنه يمكن أن يعمل في وحدة تحكم Power Shell، يقوم بتنفيذ البرامج النصية من تحت نفسه في بيئة وحدة تحكم Windows عاديةكمد . أي أنه لا يمكن استخدام FAR Manager إلا لإنشاء البرامج النصية لـ PowerShell وتحريرها، وليس لتشغيلها. ولكن قبل أن تشعر بخيبة الأمل، اقرأ النقطة 3.

2. تشغيل البرنامج النصي

يجب تنفيذ البرنامج النصي من وحدة تحكم Power Shell، وليس من وحدة تحكم Windows العادية. في وحدة تحكم Power Shell، تحتاج إلى الانتقال إلى الدليل الذي يوجد به البرنامج النصي (باستخدام الأوامرقرص مضغوط )، ثم قم بتشغيل البرنامج النصي نفسه، مع التأكد من تضمين الأحرف الموجودة أمامه".\" . على سبيل المثال، لدينا المسار إلى ملف البرنامج النصيد:\work\systemInfo.ps1 . ثم ستبدو أوامر الإطلاق كما يلي:

مؤتمر نزع السلاح\

عمل القرص المضغوط

.\systemInfo.ps1

أو مثل هذا (فقط حدد المسار الكامل للبرنامج النصي):

د:\work\systemInfo.ps1

على الأرجح، سيظهر الخطأ التالي عند تشغيل البرنامج النصي:

لا يمكن تحميل الملف D:\work\systemInfo.ps1 لأن تنفيذ البرنامج النصي غير مسموح به على هذا النظام. اكتب "الحصول على مساعدة about_signing" لمزيد من المعلومات.

السطر: 1 حرف: 18

معلومات الفئة: NotSpecified: (:)، PSSecurityException

معرف الخطأ الكامل: RuntimeException

يظهر الخطأ لأنه افتراضيًا، يتم تمكين سياسة الأمان القصوى في Power Shell، والتي تسمح لك بتشغيل أوامر PowerShell في سطر الأوامر، ولكنها لا تسمح لك بتشغيل برنامج نصي باستخدام أوامر PowerShell في نفس سطر الأوامر.

لتمكين تنفيذ البرامج النصية PowerShell، تحتاج إلى إنشاء ملف *.bat، على سبيل المثال EnableScript.bat بالمحتوى التالي:

بوويرشيل -Command Set-ExecutionPolicy RemoteSigned

يمكن تنفيذ ملف *.bat هذا في أي وحدة تحكم: إما في PowerShell أو في وحدة تحكم عاديةكمد . بعد تنفيذ هذا الملف، سيتم تشغيل البرامج النصية لـ PowerShell في وحدة تحكم PowerShell.

3. تشغيل برنامج PowerShell النصي من وحدة تحكم Windows cmd عادية

يمكن أيضًا تنفيذ البرنامج النصي PowerShell من وحدة تحكم Windows عادية. للقيام بذلك يمكنك استخدام الأمر:

بوويرشيل -ملف ./systemInfo.ps1

بهذه الطريقة يمكنك تنفيذ البرامج النصية مباشرة من FAR Manager وستعمل.

ولكن هناك دقة طفيفة هنا. معامل-ملف يتم تشغيله فقط على المسارات المحلية، حتى لو كان المسار نسبيًا"./" . وهذا هو، إذا كان *.ps1 - الملف موجود على القرص المحليج: أو د: ، فستعمل مثل هذه المكالمة. ولكن إذا حاولت تنفيذ برنامج نصي موجود على مورد المجال، فلن يتم العثور على البرنامج النصي. ربما سيتم إصلاح ذلك في الإصدارات المستقبلية من PowerShell.

تشغيل البرامج النصية PowerShell وفقًا لجدول زمني

تتضمن مهام أي مسؤول نظام تقريبًا كتابة نصوص برمجية مختلفة وتشغيلها. لا تعد جدولة البرنامج النصي ليتم تشغيله وفقًا لجدول زمني باستخدام Task Sheduler مهمة صعبة، ولكن هناك بعض الفروق الدقيقة عند استخدام PowerShell، والتي سأناقشها في هذه المقالة.

لذا، لنفترض أن لدي برنامج نصي start.ps1 وأحتاج إلى تشغيله كل يوم لمدة 10 أيام. هناك طريقتان لحل هذه المشكلة.

طريقة 1

لتشغيل البرنامج النصي، سنستخدم الأداة الإضافية "برنامج جدولة المهام"، والمعروفة أيضًا باسم برنامج جدولة المهام. يمكنك العثور عليها في قسم الأدوات الإدارية، أو بالنقر فوق فوز+روإدخال الأمر المهامschd.msc. افتح المجدول وفي قسم الإجراءات حدد إنشاء مهمة.

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

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

ملحوظة.إذا كنت تريد تشغيل مهمة أكثر من مرة في اليوم، فأنت بحاجة إلى تحديد مرة واحدة، وفي قسم الإعدادات المتقدمة، حدد تكرار المهمة كل عنصر وحدد وقت التكرار، الحد الأدنى 5 دقائق، الحد الأقصى 1 ساعة. إذا لم يكن هذا كافيًا، فيمكنك أيضًا تحديد تأخير زمني في مهمة التأخير لما يصل إلى الحقل.

والشيء الرئيسي. انتقل إلى علامة التبويب "الإجراء" وحدد الإجراء للمهمة المجدولة. اسمحوا لي أن أذكرك أنه لأسباب أمنية PowerShell، لا يمكن تنفيذ البرامج النصية إلا بشكل تفاعلي، أي أنه يجب عليك أولاً تشغيل PowerShell Shell وتحديد المسار إلى البرنامج النصي فيه. لذلك، في حقل "الإجراء"، نشير إلى إطلاق powershell.exe، وفي حقل "إضافة وسيطات" إلى المعلمة -File والمسار إلى البرنامج النصي الخاص بنا، مثل هذا:

الملف "C:\Scripts\start.ps1"

يمكنك أيضًا التحديد في حقل الوسائط:

الأمر - ينفذ الأوامر المحددة وأي معلمات أخرى. يمكن أيضًا استخدام هذه المعلمة لتشغيل برنامج نصي، على سبيل المثال: -الأمر ″& (C:\Scripts\start.ps1)″. بالإضافة إلى ذلك، يمكن استخدامه لتمرير المعلمات إلى البرنامج النصي: -الأمر ″& (C:\Scripts\start.ps1 -a 1 -b 3)″;
-ExecutionPolicy — يضبط سياسة تنفيذ البرنامج النصي للجلسة الحالية، ويمكنه أخذ القيم Unrestricted وRemoteSigned وAllSigned وRestricted. ستكون السياسة المحددة سارية المفعول فقط في الدورة الحاليةوتكون لها الأسبقية على أي سياسات تم إنشاؤها مسبقًا؛
-NonInteractive — تعطيل إخراج الطلبات التفاعلية للمستخدم؛
-WindowStyle Hidden - قم بتشغيل نافذة PowerShell في الوضع المخفي، وغير مرئي للمستخدم؛
-NoProfile - يمنع تحميل الملف الشخصي، مما قد يؤدي إلى تسريع تنفيذ البرنامج النصي إلى حد ما؛
-NoExit — اترك الصدفة مفتوحة بعد تشغيل البرنامج النصي. قد يكون هذا مطلوبًا عند فحص البرنامج النصي وتصحيح أخطائه.

بعد ملء الحقول المطلوبة، انقر فوق "موافق" واحفظ المهمة. الآن سيتم تشغيل البرنامج النصي وفقًا لجدول زمني كل يوم في الوقت المحدد لمدة 10 أيام.

الطريقة 2

قدم PowerShell 3.0 وظيفة Sheduled Job الجديدة، والتي تجعل من الممكن إنشاء مهام مجدولة مباشرة من وحدة التحكم، دون استخدام الأداة الإضافية للمجدول. سنستخدمه في الإطلاق المقرر لبرنامجنا النصي.

أولاً، نقوم بإنشاء جدول الإطلاق (يومياً في الساعة الخامسة والنصف مساءً، لمدة 10 أيام):

$t = New-JobTrigger - يوميًا - عند الساعة 4:30 مساءً -DaysInterval 10

ثم نقوم بحفظ بيانات الاعتماد في متغير:

$cred = الحصول على contoso\administrator

كخيار، نحدد تشغيل المهمة بامتيازات مرتفعة:

$o = New-ScheduledJobOption -RunElevated

وقم بتسجيل مهمة بالاسم Start:

تسجيل-ScheduledJob -اسم البدء -FilePath C:\Scripts\start.ps1 -Trigger $t -Credential $cred -ScheduledJobOption $o

للتأكد من إنشاء المهمة، يمكنك فتح برنامج الجدولة والعثور على مهمتنا في قسم Microsoft\Windows\PowerShell\SheduledJobs.

ملحوظة.لكل مهمة PowerShell مجدولة، يتم إنشاء مجلد بنفس الاسم في الدليل %systemdrive%\Users\%username%\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs. يحتوي هذا المجلد على المهمة نفسها في ملف XML ومجلد الإخراج، حيث يتم تخزين محفوظات تنفيذ المهمة في المجلدات الفرعية حسب وقت التنفيذ - نتيجة التنفيذ (ملف Result.xml) وحالة المهمة (Status.xml). يمكن أن تكون هذه الملفات مفيدة لتصحيح الأخطاء والتشخيص إذا لم تعمل المهمة بشكل صحيح.

سياسة التنفيذ

وفي الختام، اسمحوا لي أن أذكركم بنقطة مهمة، وهي سياسة التنفيذ. يمكنك عرض قيمة السياسة الحالية باستخدام أمر Get-ExecutionPolicy. يمكن أن تحتوي سياسة التنفيذ على القيم التالية:

مقيد - تم حظر تنفيذ أي نصوص برمجية. القيمة الافتراضية؛
AllSigned - يُسمح بتنفيذ البرامج النصية باستخدام التوقيع الرقمي؛
RemoteSigned - يمكن تشغيل البرامج النصية المعدة على الكمبيوتر المحلي دون قيود، والبرامج النصية التي يتم تنزيلها من الإنترنت - فقط باستخدام التوقيع الرقمي؛
غير مقيد - يُسمح بتنفيذ أي نصوص برمجية. عند تشغيل برنامج نصي غير موقع تم تنزيله من الإنترنت، قد يتطلب البرنامج تأكيدًا؛
التجاوز - لا يتم حظر أي شيء، ولا تظهر أي تحذيرات أو طلبات.

عادةً، لتنفيذ البرامج النصية بدون مشاكل، يكفي تعيين القيمة على RemoteSigned. يمكنك تغيير القيمة الحالية باستخدام الأمر Set-ExecutionPolicy، على سبيل المثال:

Set-ExecutionPolicy RemoteSigned -force

ملحوظة.إذا كانت سياسة التنفيذ المحددة في الأمر تتعارض مع سياسة المجموعة، فسيتم كتابة المعلمة في التسجيل، ولكنها لن تصبح نافذة المفعول.

أهلاً بكم! اليوم ملاحظة قصيرة حول هذا الموضوع، كيفية فتح بوويرشيل كمسؤول. اسمحوا لي أن أذكرك أن PowerShell هي لغة برمجة وإدارة قوية من Microsoft؛ فهي تكتسب كل عام عددًا متزايدًا من أوامر cmdlets والوظائف. إنه في الأساس بديل لموجه أوامر Windows. سننظر أدناه في الطرق التي تسمح لك بفتحه وتكوينه.
.

طرق فتح الأداة الإضافية PowerShell

يتطور Powershell بشكل جيد للغاية ومع إصدار Windows 10، فقد تلقى بالفعل الإصدار 5، لكن موضوعنا مختلف. فكيف لفتح بوويرشيل؟ كل شيء بسيط إذا كان في نظام التشغيل Windows XP، فلا شيء. نظرًا لأنه يتم تسليمه بشكل منفصل، فإنه يأتي في جميع الإصدارات اللاحقة كمكون مدمج. الطريقة الأكثر عالمية لفتح بوويرشيل هي النقر

فوز + R وأدخل بوويرشيل

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

كيفية تشغيل Windows Powershell كمسؤول في Windows 8.1 وWindows 7

يمكنك فتح Windows Powershell من خلال Start. في Windows 8.1، Windows 2012 R2، انتقل إلى أدوات النظام - Windows وانقر بزر الماوس الأيمن وحدد تشغيل كمسؤول.

في نظامي التشغيل Windows 7 وWindows 2008 R2، يبدو الأمر كما يلي: ابدأ > الملحقات > Windows PowerShell

يمكنك أيضًا إنشاء اختصار في عنصر المهمة والنقر عليه بزر الماوس الأيمن وتحديد العنصر المناسب

سيكون من المناسب أن يتم فتح PowerShell دائمًا كمسؤول، فلننفذه. ويتم ذلك بنفس الطريقة في كافة إصدارات Windows. فتح لوحة التحكم

انقر بزر الماوس الأيمن عليه وحدد خصائص. يمكنك رؤية المسار إلى الملف الموجود في النظام على الفور.

انقر فوق الزر "متقدم". سترى خصائص إضافية. حيث تحتاج إلى تحديد المربع تشغيل كمسؤول.

كل شيء بسيط جدا. أنا متأكد من أنه لن يكون لديك الآن سؤال حول كيفية فتح Windows Powershell. شيء آخر مفيد هو تغيير الخط في نافذة بوويرشيل.

كيفية فتح PowerShell من قائمة سياق زر ابدأ في نظام التشغيل Windows 10

تركز Microsoft بشكل متزايد على لغتها القوية (PowerShell) من سطر الأوامر، وهذا أمر منطقي، لأن قدراتها على إدارة أنظمة تشغيل عائلة Windows تكاد تكون غير محدودة، إن لم تكن أكثر من الواجهة الرسومية. بدءًا من الإصدار 1709 من نظام التشغيل Windows 10، في قائمة السياق، استبدل PowerShell cmd المعتاد للجميع. انقر بزر الماوس الأيمن على زر البدء في نظام التشغيل Windows 10 ومن قائمة السياق، حدد العنصر المناسب:

  1. ويندوز باورشيل
  2. Windows PowerShell (المسؤول) هو الوضع الذي يتمتع بأقصى قدر من الحقوق في Windows 10.

قم بتشغيل Windows PowerShell باستخدام البحث في Windows 10

في نظام التشغيل Windows 10 والإصدارات الأقدم، يمكنك العثور على PowerShell Shell باستخدام البحث العادي؛ ويوجد قسم خاص لهذا الغرض. انقر بجوار زر ابدأ، أيقونة العدسة المكبرة. في نموذج البحث الذي يفتح، أدخل كلمة PowerShell. سوف تبحث عن جميع الخيارات، ومن بينها ستجد الصدفة. إذا قمت بالنقر بزر الماوس الأيمن عليه، يمكنك فتحه كمسؤول.

إطلاق Windows PowerShell من قائمة "ابدأ" في نظام التشغيل Windows 10

لفتح PowerShell من قائمة ابدأ، افتحه وابحث عن عنصر Windows PowerShell، سيكون على شكل مجلد، افتحه وقم بتشغيل الإصدار المناسب.

إذا قمت بالنقر بزر الماوس الأيمن، فيمكنك تشغيل Vershel Shell كمسؤول يتمتع بحقوق المسؤول.

طرق إطلاق القذائف الإضافية والعامة

هناك أيضًا طرق محددة جدًا لفتح الصدفة بلغة قوية من Microsoft. الأكثر خرقًا هو العثور ببساطة على الملف القابل للتنفيذ وتشغيله مباشرة من موقعه على النظام. دعنا ننتقل إلى نظام التشغيل Windows 10 لديك عبر المسار التالي:

C:\Users\username\AppData\Roaming\Microsoft\Windows\قائمة ابدأ\البرامج\Windows PowerShell

نتيجة لذلك، سترى مجلدا يحتوي على اختصارات موجودة في قائمة "ابدأ"، يمكنك تشغيلها.

يمكنك أيضًا تشغيل الملف الأصلي القابل للتنفيذ، والذي يقع على طول المسار:

C:\Windows\System32\WindowsPowerShell\v1.0

ومن خلال النقر بزر الماوس الأيمن عليه، يمكنك تنزيله كمسؤول، مع الحد الأقصى من الحقوق.

يمكنك أيضًا تشغيل Windows PowerShell من نافذة سطر الأوامر؛ للقيام بذلك، ما عليك سوى إدخال الكلمة السحرية فيه والضغط على Enter.

حسنًا، دعني أذكرك أيضًا بطريقة تشغيل مهمة جديدة من الأداة الإضافية "Task Manager". افتح "إدارة المهام"، حدد عنصر القائمة "ملف - تشغيل مهمة جديدة"

في النافذة التي تظهر، أدخل PowerShell.

حسنًا، الطريقة الأخيرة المعروفة بالنسبة لي هي تشغيل PowerShell من خلال Windows 10 Explorer، للقيام بذلك، افتح Explorer، حدد عنصر القائمة "ملف - تشغيل Windows PowerShell"، سيكون هناك كلا الوضعين.

ما هو بوويرشيل ISE

ربما لاحظت أن اختصار PowerShell ISE موجود في كل مكان، وترغب في معرفة ما هو عليه. باختصار، هذا غلاف خاص يمكنك من خلاله كتابة البرامج النصية والسيناريوهات في PowerShell، باستخدام مجموعة متنوعة من أوامر cmdlets التي تقدمها لك Microsoft.

يعد تغيير الخط باستخدام Powershell أمرًا بسيطًا للغاية، انتقل إلى علامة التبويب "الخط" في الخصائص، حيث يمكنك ضبط الحجم من 5 إلى 72.

يمكنك أيضًا الوصول إلى الخصائص من نافذة الأداة المساعدة نفسها، والنقر على الأيقونة الموجودة في الزاوية اليسرى العليا واختيار الخصائص

هنا تختلف إعدادات الخط قليلاً، ومع تغيرها، يتغير حجم وحدة التحكم أيضًا.

في علامة التبويب "الألوان"، يمكنك ضبط لون الخط في Powershell والنافذة نفسها. بجعله أسودًا، على سبيل المثال، مثل سطر الأوامر.

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

شكرًا لكم على اهتمامكم. هذه هي طرق فتح وحدة تحكم Power Shell في نظام التشغيل Windows. مادة الموقع

PowerShell هو سطر أوامر بديل ذو وظائف واسعة النطاق. يهتم العديد من مالكي أجهزة الكمبيوتر الذين هم على دراية جيدة بعمليات النظام بإمكانيات استخدامه على نظام التشغيل Windows 10 والإصدارات السابقة من هذا البرنامج من أجل تغيير عمليات معينة وإعدادات الكمبيوتر لأنفسهم.

لا يوجد شيء معقد في استخدام PowerShell. فقط اتبع جميع التعليمات الواردة في هذه المقالة وسوف تنجح.

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

كيفية فتح بوويرشيل؟

ويمكن القيام بذلك بعدة طرق التالية:

  • - ستجد التطبيق في القائمة العامة للمكونات تحت حرف W.
  • باستخدام البحث في شريط المهام - افتحه وأدخل كلمة PowerShell للبحث.
  • باستخدام قائمة "تشغيل"، قم بتشغيلها من خلال مجموعة Win + R واكتب اسم الأداة المساعدة، وبعد ذلك سيتم العثور عليها في النظام.
  • في Commander، قم بتعيين إجراء PowerShell - ولكن يجب أن تعلم أنك ستعمل مع التطبيق من خلال خط قيد التشغيل بالفعل، وليس في نافذة منفصلة.
  • في إعدادات Windows، حدد خصائص شريط المهام وقائمة ابدأ. في علامة التبويب "التنقل"، حدد المربع بجوار "استبدال سطر الأوامر بـ PowerShell...". يمكنك الآن تمكين الأداة المساعدة باستخدام مجموعة Win+X.

كيفية كتابة وتشغيل البرامج النصية؟

كيفية إنشاء برنامج PowerShell النصي وتشغيله؟ يمكن القيام بذلك ببساطة في المفكرة - باستخدامها، حدد الأوامر التي تحتاجها في المستند الجديد. ثم احفظه، ولكن قم بتغيير التنسيق إلى .ps1 - وهذا هو الامتداد الذي تحتوي عليه ملفات الأداة المساعدة للنظام هذه.

يمكنك كتابة البرامج النصية في التطبيق نفسه مثل هذا:

  • أطلقها.
  • انقر فوق العنصر "إنشاء".
  • أو انقر فوق "ملف" وحدد "إنشاء" من القائمة التي تظهر.
  • اكتب جميع الأوامر التي يجب تنفيذها، واحفظ الملف.

لا يزال من الممكن كتابة البرامج النصية وتحريرها في FAR Manager، لكن لا يمكن استخدامها مباشرة في مثل هذا التطبيق، لأنه يعرض ملفات من هذا النوع من خلال سطر cmd القياسي. ومع ذلك، يتم تنفيذ الإجراءات الأخرى بنفس الطريقة كما في الأداة المساعدة "الأصلية".

يمكنك تشغيل البرنامج النصي بهذه الطريقة:

  1. قم بتسجيل الدخول إلى PowerShell كمسؤول.
  2. استخدم أوامر القرص المضغوط لتحديد موقع الملف المطلوب. على سبيل المثال، البريد: cd\ cd العمل .\ اسم الملف. PS1، أو البريد الإلكتروني: \work\filename.ps1
  3. في هذه الحالة، e: هو اسم القرص الصلب الذي يوجد به الملف.
  4. اضغط دخول.

سيظهر لك البرنامج بالتأكيد رسالة نصها "لا يمكن تحميل الملف ___ .Ps1 لأن تنفيذ البرنامج النصي محظور على هذا النظام..." عند تشغيل الأمر لأول مرة. الحقيقة هي أن Windows مزود بحماية ضد التداخل بفضل المطورين، لذلك لا يمكن لأي من المستخدمين بشكل افتراضي الوصول إلى تنفيذ مثل هذه الإجراءات. ولكن يمكن التحايل على هذا القيد بسهولة شديدة.

كيف؟ سيوصيك النص الذي يظهر مع الخطأ بإدخال الأمر get-help about_signing للحصول على مزيد من المعلومات. يمكنك اتباع هذه التعليمات، أو استخدام المجموعة الموقعة عن بعد من Set-ExecutionPolicy - بعد إدخالها، ستكون هناك حاجة إلى التأكيد، وستتم إزالة التقييد.

أسئلة أخرى حول الاستخدام

لدى الكثير من الأشخاص سؤال: كيف يمكنك معرفة إصدار PowerShell؟ للقيام بذلك، قم بما يلي:

  1. أدخل $PSVersionTable.
  2. إذا لم يؤد هذا إلى أي شيء، فلديك الإصدار 1.0 - ويوجد أمر $host.version له.
  3. خلاف ذلك، ستظهر معلومات مفصلة حول إصدار التطبيق المثبت على جهاز الكمبيوتر.

سؤال آخر يستحق الإجابة عليه هو كيفية إزالة PowerShell؟ سيتطلب ذلك الإجراءات التالية:

  • انتقل من خلال لوحة التحكم إلى قائمة إضافة / إزالة البرامج.
  • ابحث عن فرع مايكروسوفت ويندوز
  • قم بإلغاء تثبيت التحديث الخاص بمكون WindowsPowerShell(TM) واتبع تعليمات النظام.

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

تشغيل البرنامج النصي PowerShell

توضح هذه المذكرة كيفية تكوين المعلمات الضرورية لبدء التشغيل بوويرشيلنصوص. في أغلب الأحيان في البداية الأولى .ps1البرامج النصية ترى الأخطاء التالية:

ملف غير قادر على التحميل. ملف ليس لديه توقيع رقمي. لن يتم تنفيذ البرنامج النصي على النظام. لمزيد من المعلومات، أدخل الأمر "Get-Help about_signing".
الملف لا يمكن تحميلها. الملف لم يتم توقيعه رقميا. لن يتم تنفيذ البرنامج النصي على النظام. يرجى الاطلاع على "الحصول على مساعدة حول_التوقيع" لمزيد من التفاصيل.

إطلاق برنامج من ناشر غير موثوق به؟ ملف نشرته CN= لم يتم وضع علامة على هذا الناشر كموثوق به من قبل هذا النظام. يجب عليك فقط تشغيل البرامج النصية من الناشرين الموثوق بهم.
[V] لا تقم بتشغيل مطلقًا [D] لا تقم بتشغيل [R] قم بالتشغيل مرة واحدة [A] قم دائمًا بتشغيل [؟] المساعدة (الافتراضي "D"):
هل تريد تشغيل برنامج من هذا الناشر غير الموثوق به؟ الملف تم نشره بواسطة CN= هذا الناشر غير موثوق به على نظامك. قم بتشغيل البرامج النصية من الناشرين الموثوق بهم فقط.
[V] لا تقم بتشغيل مطلقًا [D] لا تقم بتشغيل [R] قم بالتشغيل مرة واحدة [A] قم دائمًا بتشغيل [؟] المساعدة (الافتراضي هو "D"):

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

Set-ExecutionPolicy Unrestricted LocalMachine

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

الحصول على قائمة سياسة التنفيذ

نِطَاق سياسة التنفيذ
—— —————
سياسة الآلة غير مقيد
سياسة المستخدم غير معرف
عملية التوقيع عن بعد
المستخدم الحالي الكل موقع
الجهاز المحلي مقيد

يمكن أن تأخذ هذه السياسة 6 قيم:

مقيد(يتم تنفيذ السياسة بشكل افتراضي. على سبيل المثال، إذا تم تعيين جميع مناطق التطبيق على غير محدد)
- يسمح بالأوامر الفردية، ولكن لا يمكن تنفيذ البرامج النصية.
- يمنع تنفيذ جميع ملفات البرامج النصية، بما في ذلك ملفات التنسيق والتكوين (PS1XML)، وملفات البرامج النصية للوحدة (PSM1)، وملفات تعريف Windows PowerShell (PS1).

الكل موقع

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

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

غير مقيد
- يمكن تنفيذ البرامج النصية غير الموقعة. (هناك خطر تنفيذ نصوص برمجية ضارة.)
- يحذر المستخدم قبل تنفيذ البرامج النصية وملفات التكوين التي تم تنزيلها من الإنترنت.

تجاوز
- لا يتم حظر أي شيء، ولا تظهر أي تحذيرات أو طلبات.
- سياسة التنفيذ هذه مخصصة للتكوينات التي يتم فيها تضمين برنامج Windows PowerShell النصي داخل تطبيق أكبر، أو للتكوينات التي يكون فيها Windows PowerShell هو النظام الأساسي لبرنامج له نموذج أمان خاص به.

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

هناك خمسة مجالات تنطبق عليها هذه السياسة والإعدادات:

سياسة الآلةو سياسة المستخدميتم تعيينها بواسطة سياسات AD أو السياسات المحلية لجهاز كمبيوتر معين.
عملية— نطاق التطبيق: الدورة الحالية. تقول المساعدة أن قيمتها مخزنة في المتغير $PSExecutionPolicyPreference؛ ومع ذلك، لم يكن من الممكن الحصول على/تغيير قيمة هذه السياسة من خلال المتغير. لن تؤثر التغييرات التي تم إجراؤها على منطقة التطبيق هذه على الجلسات الأخرى.
المستخدم الحالي— نطاق المستخدم الحالي. ويتم تخزين قيمته في مفتاح التسجيل HKEY_CURRENT_USER ("HKEY_CURRENT_USER\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell\ExecutionPolicy").
الجهاز المحلي- نطاق التطبيق لجميع مستخدمي الكمبيوتر الحالي. ويتم تخزينه في مفتاح التسجيل HKEY_LOCAL_MACHINE("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\ScriptedDiagnostics\ExecutionPolicy").

الفريق get-executionpolicyهناك معلمة -Scope. باستخدام هذه المعلمة، يمكنك تحديد النطاق الذي سيتم عرض قيمة السياسة له.

عملية Get-ExecutionPolicy-scope

نتيجة تشغيل الأمر cmdlet: التوقيع عن بعد

في هذه الحالة، تكون الأولوية لمجالات التطبيق، وتكون الأولوية القصوى لـ MachinePolicy، ثم الأولوية الأدنى لـ UserPolicy وProcess وCurrentUser وLocalMachine.
ولذلك في المثال:

نِطَاق سياسة التنفيذ
—— —————
سياسة الآلة غير مقيد
سياسة المستخدم غير معرف
عملية التوقيع عن بعد
المستخدم الحالي الكل موقع
الجهاز المحلي مقيد

في الجلسة الحالية، ستكون السياسة الناتجة غير مقيدة.

لمعرفة قيمة سياسة تنفيذ البرنامج النصي لجلسة معينة، تحتاج إلى استخدام أمر Get-ExecutionPolicy cmdlet بدون معلمات.

الخلاصة: غير مقيد

تغيير سياسة تنفيذ البرنامج النصي بوويرشيل:

لتغيير قيمة سياسات تنفيذ البرنامج النصي PowerShell، يوجد الأمر Set-ExecutionPolicy cmdlet.
يحتوي أمر cmdlet هذا على المعلمات التالية:

-سياسة التنفيذ
يشير إلى قيمة السياسة. يمكن أن تحتوي على القيم التالية: مقيد، AllSigned، RemoteSigned، غير مقيد، تجاوز، غير محدد. هذه المعلمة مطلوبة. إذا لم يتم تحديده، فسوف يطلب comadlet القيم في وقت التشغيل.

خاتمة:
حدد قيم المعلمات التالية:
سياسة التنفيذ:

-نِطَاق
يحدد نطاق هذه السياسة. يمكن أن تحتوي على القيم التالية: LocalMachine، وProcess، وCurrentUser. إذا لم يتم تحديد معلمة النطاق، فإن القيمة الافتراضية هي LocalMachine.

Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process

عملية Set-ExecutionPolicy غير المقيدة

-قوة
باستخدام هذه المعلمة، لن يتطلب الأمر cmdlet تأكيدًا من المستخدم. على سبيل المثال:

عملية Set-ExecutionPolicy غير المقيدة -Force

لن يعرض أمر cmdlet أي شيء وسيطبق قيمة السياسة.

-يتأكد
على العكس من ذلك، تأكيد واحد لا يكفي بالنسبة لك. يمكنك تحديد معلمة التأكيد وسيكون لديك طلب إضافي آخر لتأكيد أفعالك:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process -confirm

نتيجة التنفيذ:

تأكيد
هل أنت متأكد أنك تريد تنفيذ هذا الإجراء؟
تنفيذ عملية "Set-ExecutionPolicy" على الكائن الهدف "غير مقيد".
[Y] نعم - Y [A] نعم للجميع - A [N] لا - N [L] لا للجميع - L [S] تعليق - S [؟] مساعدة (القيمة الافتراضية هي "Y"):

تغيير سياسة التنفيذ
تعمل سياسة التنفيذ على حماية جهاز الكمبيوتر الخاص بك من البرامج النصية غير الموثوق بها. قد يؤدي تغيير سياسة التنفيذ إلى تعريض أمان النظام للخطر، كما هو موضح في موضوع المساعدة الخاص بالأمر about_Execution_Policies. هل تريد تغيير سياسة التنفيذ؟
[Y] نعم - Y [N] لا - N [S] تعليق - S [؟] مساعدة (القيمة الافتراضية هي "Y"):. إكس -executionpolicy غير مقيد

Get-ExecutionPolicy -list

نتيجة التنفيذ:

نِطَاق سياسة التنفيذ
—— —————
سياسة الآلة غير مقيد
سياسة المستخدم غير معرف
عملية التوقيع عن بعد
المستخدم الحالي الكل موقع
الجهاز المحلي مقيد

تغيير إعدادات سياسة تشغيل البرنامج النصي باستخدام سياسات المجموعة.

في سياسة المجموعة، توجد المعلمة التي تتحكم في تشغيل البرامج النصية على طول المسار:

ل سياسة الآلة:

تكوين الكمبيوتر/السياسات/القوالب الإدارية/مكونات Windows/Windows PowerShell

تكوين الكمبيوتر/القوالب الإدارية/مكونات Windows/Windows PowerShell

ل سياسة المستخدم:
تكوين المستخدم/السياسات/القوالب الإدارية/مكونات Windows/Windows PowerShell

تكوين المستخدم/القوالب الإدارية/مكونات Windows/Windows PowerShell

يمكن أن تأخذ معلمة سياسة التنفيذ 3 قيم.