ملف بوويرشيل لتشغيل البرنامج. كيفية فتح PowerShell بكل الطرق. بعض الحيل المفيدة

05.01.2022

تنفيذ البرنامج النصي الافتراضي ويندوز باورشيل محظور في النظام لأسباب أمنية، يجب توقيع كافة البرامج النصية لـ PowerShell رقميًا. هذه الطريقةمُسَمًّى - سياسة التنفيذ. إذا كان البرنامج النصي لا يستوفي هذا الشرط، فسيتم حظر تشغيل البرامج النصية PowerShell على النظام. ويرجع ذلك في المقام الأول إلى حقيقة أن البرنامج النصي قد يحتوي على تعليمات برمجية ضارة يمكن أن تسبب ضررًا نظام التشغيل.


يحتوي PowerShell على العديد من أوضاع التنفيذ التي تحدد نوع التعليمات البرمجية المسموح بتشغيلها. هناك 5 أوضاع تنفيذ مختلفة:

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

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

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

لتغيير سياسة التنفيذ إلى غير محدود، استخدم وحدة تحكم PowerShell مع حقوق المسؤول وقم بتشغيل الأمر التالي:

ي (نعم)

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

بعد تشغيل الأمر، سيُطلب منك تأكيد تغيير سياسة التنفيذ. سوف نقوم بالرد ي (نعم)

تم حظر تنفيذ أي نصوص برمجية. القيمة الافتراضية.

مجموعة سياسة التنفيذ مقيدة

يُسمح بتنفيذ البرامج النصية التي تحتوي على توقيع رقمي.

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

Set-ExecutionPolicy RemoteSigned

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

مجموعة سياسة التنفيذ غير مقيدة

لا يوجد شيء محظور، ولا تظهر أي تحذيرات أو طلبات.

لتشغيل الأوامر المذكورة أعلاه دون تأكيد التغيير، استخدم الخيار
  -Force ، على سبيل المثال قم بتشغيل الأمر:

تجاوز Set-ExecutionPolicy -Force

الآن، عند تنفيذ الأوامر، لا تحتاج إلى تأكيد التغييرات التي تم إجراؤها.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

لقد مر أكثر من عام منذ ذلك الحين الافراج عن ويندوز 7 والخادم 2008.

المبرمجين, مسؤولي النظاموقد وجد المستخدمون المتقدمون العديد من الاستخدامات للنافذة الزرقاء، على غرار سطر الأوامر.

معظم المستخدمين المبتدئين لا يعرفون حتى ما هو PowerShell (PS).

لكن البرامج النصية لـ PowerShell تسمح لك بأتمتة ما يقرب من 100% من الإجراءات والبرامج النصية التي يتم تنفيذها في نظام التشغيل عبر سطر الأوامر والواجهة الرسومية.

دعونا نتعرف على القدرات الرئيسية لهذا البرنامج، مع إيلاء المزيد من الاهتمام لوظيفة إنشاء وتشغيل البرامج النصية (البرامج الثابتة).

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

ما هو ويندوز باورشيل؟

بوويرشيل– مترجم يعتمد على .NET Framework، ومجهز اللغة الخاصةسيناريوهات.

الأول يعني أنه يعمل في وضع النص: تقوم بإدخال أمر، وتشغيله، وعلى الشاشة ترى نتيجة تنفيذه.

كما كان الحال في MS-DOS والإصدارات الأقدم من UNIX.

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

بالمقارنة مع المترجمين الآخرين، ملاحظة مختلفة:

  • التكامل مع - يسمح لك بإنشاء نصوص برمجية قوية عن طريق إدخال رمز البرنامج فيها؛
  • جميع البيانات التي تم إرجاعها هي كائنات، وليست بيانات نصية/سلسلة، مما يعني أنه يتم تمريرها إلى نصوص برمجية أخرى ومعالجتها بأي طريقة.

بوويرشيل الإصدار 2يتمتع بالقدرات التالية، دعونا ننظر إلى بعض منهم بمزيد من التفصيل:

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

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

يمكنك البدء في إتقان لغة برمجة نصية متكاملة دون أي مهارات برمجة.

من غير المرجح أن تتمكن من إنشاء سيناريو معقد، ولكن الجميع تقريبًا سيكونون قادرين على تنفيذ تسلسل من الإجراءات البدائية.

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

أوامر الأوامر

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

تدعم بعض أوامر cmdlets تلقي/نقل البيانات ومصفوفات المعلومات مع الحفاظ على بنيتها ونوعها. يعمل هذا على مبدأ الناقل (سيتم مناقشة ذلك في القسم التالي). بغض النظر عن ذلك، يتم تشغيل أوامر cmdlets ومعالجة الكائنات بالترتيب.

لتنفيذ أوامر cmdlets، يمكن استخدام أي واجهات برمجة تطبيقات .NET مدعومة تم إنشاؤها بأي لغة .NET.

وبالتالي، يتم منح المستخدم إمكانية الوصول إلى وظائف محددة للبرنامج.

تستطيع أوامر Cmdlets الوصول إلى المعلومات المطلوبة مباشرة أو من خلال مسارات فريدة (أحرف محركات الأقراص ومسارات الدليل).

باستخدام cmdlets يمكنك العمل مع الكائنات نظام الملفاتومخازن الشهادات، التطبيقات المثبتةوالخدمات.

الناقل

عند إنشاء نصوص برمجية غير بدائية للغاية أو إجراء أي عمليات باستخدام البيانات التي تم الحصول عليها نتيجة للبرنامج النصي، يتعين عليك أحيانًا تنفيذ بعض الإجراءات.

هناك ناقل لهذا. كما هو الحال في UNIX، فهو يجمع الأوامر عن طريق تمرير مخرجات أمر cmdlet إلى مدخلات أمر cmdlet آخر، دون تغيير، مع الحفاظ على نوعه.

في هذه الحالة، لا يلزم تحليل المعلومات لكل حاوية أو حرفًا على حدة.

قد تتضمن المعلومات المرسلة أيضًا وظيفة.بعد الانتهاء من عمل الأوامر المدمجة تأتي وظيفة تحويل المعلومات إلى عرض النص(تحويل البيانات إلى سلاسل) باستخدام تنسيق النص.

البرامج النصية

على الرغم من حقيقة أن Shell يسمح لك بأتمتة العديد من الإجراءات، فأنت بحاجة إلى إدخال الأوامر يدويا، وهي ليست مريحة للغاية.

خاصة عندما يجب تنفيذ نفس العمليات مرارا وتكرارا.

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

لتنفيذ سلاسل إجراءات رتيبة، قام PS بتنفيذ نصوص برمجية - ملفات نصية تحتوي على سلسلة من الأوامر بداخلها تكون مفهومة للمترجم الفوري.

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

ولكن هنا "ليس كل ما يلمع ذهباً": إن كتابة السيناريو الخاص بك أو تحميل نص جاهز (وإن كان ذلك بتخصيصه قليلاً ليناسب أهدافك الخاصة) لن ينجح بهذه السهولة.

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

للتشغيل على Windows PS، يجب عليك اجتياز التحكم في التشغيل الخاص به.

إذا فشل، ويجب تنفيذ البرنامج النصي، فسيتعين عليك تغيير تكوين الكائنات المسؤولة عن أمان وحدات الماكرو.

قبل استخدام البرامج النصية

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

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

كل شيء يحدث بسبب الجهل الأساسي بمحتويات ملف البرنامج النصي (ps1)والرغبة في حل مشاكلهم بسرعة على حساب عمل الآخرين. تعمل الكائنات التي تتحكم في مستوى أمان تنفيذ البرنامج النصي على إنشاء بيئة يستحيل فيها تشغيل البرنامج النصي.

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

نظرًا لأن تكوين الأمان غير مناسب للأشخاص الذين يحتاجون إلى تنفيذ البرامج النصية الخاصة بهم وتشغيلها، فمن الممكن تغيير التكوين.

هنا يمكنك إما تقليل الحماية إلى الحد الأدنى أو المناورة بحكمة بين القدرة على فتح ثقوب للاختراق وسهولة العمل مع PowerShell.

تحتوي القشرة على ثلاثة مستويات من الأمان:

  • لا يتم التعرف على الملفات ذات ملحق ps1 بواسطة النظامكملف قابل للتنفيذ ويتم تعيينه على أنه غير معروف أو نص (بالنقر المزدوج يتم فتحه في محرر النصوص الافتراضي المستخدم على الكمبيوتر)؛
  • تسمح لك الصدفة بتنفيذ البرامج النصية بعد تحديد مسارها الكامل، لا يتم البحث في ملفات البرامج النصية الموجودة في الدليل الحالي، مما يجعل من المستحيل تنفيذ وحدات الماكرو الموجودة في الدليل الحالي؛
  • تشغيل البرنامج النصي لسياسة التنفيذ المدمج، المسؤول عن إضافة المطلوب إلى قائمة البرامج النصية المسموح بها.

لا تفكر حتى في تغيير التكوين، وخفضه إلى المستوى الثاني على الأقل، دون التعرف على الأساسياتبوويرشيلحتى تبدأ في فهم محتويات ملفات * .ملاحظة1.

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

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

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

إطلاق بوويرشيل

حان الوقت للانتقال من النظرية إلى التطبيق. لذلك، لتنفيذ البرامج النصية، تحتاج إلى الحصول على توقيع رقمي أو (الخيار الثاني أبسط).

هناك عدة طرق لفتح نافذة PowerShell.

ويتم تقديمه في شكلين:

  • وحدة التحكم الكلاسيكية

  • بوويرشيل ISE - يضيف دعمًا لعلامات التبويب، وبناء الجملة، والمساعدة السياقية، والقوائم السياقية والرئيسية، مما يسهل العمل في المترجم بشكل كبير.

يبدأ

أسهل طريقة للاتصال بـ PS هي من خلال Start.

  1. افتح القائمة(في نظام التشغيل Windows 7، انقر فوق "كافة البرامج").
  2. دعنا نذهب إلى دليل ويندوزبوويرشيلوانقر على الأيقونة المطلوبة.

أرز. 4 – قم بتشغيل PS عبر Start

يمكنك أيضًا الاتصال بـ PS عبر نظام بحث متكامل .

مترجم الأوامر

من يحب غير قياسي و طرق سريعةإطلاق، استخدم نافذة "تشغيل". يتم فتحه باستخدام الزر الذي يحمل نفس الاسم في Start (ابدأ) ومجموعة المفاتيح Win + R.

في مربع الحوار نكتب "بوويرشيل"واضغط على "أدخل".

فوز + X

في نظام التشغيل Windows 10، يمكن استدعاء PS من قائمة WinX. والحقيقة هي أنه افتراضيا عن طريق النقر على الأمر "سطر الأوامر"افتح كمد. يمكن استبداله بـ PowerShell.

افتح "خصائص" شريط المهام، وفي علامة التبويب "التنقل"، ضع علامة اختيار بجوار الخيار الوحيد واحفظ الإعدادات.

يمكنك الاتصال بـ PowerShell من خلال سطر الأوامر عن طريق كتابة "powershell" فيه أو عن طريق تشغيل الملف القابل للتنفيذ على طول المسار: %WINDIR%\ نظام32\ WindowsPowerShell\v1.0 لأنظمة 32 بت وعلى %WINDIR%\ سيسوو64\ WindowsPowerShell\v1.0 للإصدار 64 بت ويندوز أيالمحررين.

أرز. 8 – قم بتشغيل PS من الدليل الذي تم تخزينه فيه ملف قابل للتنفيذ

إعداد سياسة أمنية

لم يبق الكثير– السماح لـ PowerShell بتنفيذ البرامج النصية. أدخل الأمر "Set-ExecutionPolicy RemoteSigned" واضغط على "Y".

هذا كل شيء. يمكنك الآن تشغيل أي أوامر cmdlets وبرامج نصية. لنحاول، على سبيل المثال، عرض قائمة بالعمليات النشطة عن طريق تنفيذ "Get-Process".

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

يمكنك إنشاء برامج نصية في أي منها (من الأفضل استخدام Win، أو شيء مشابه، مع دعم بناء الجملة أو التحقق من الصحة) أو في برنامج بوويرشيلآي إس إي.

يوفر الأخير وصولاً سهلاً إلى أوامر cmdlets، والقدرة على تشغيل البرامج النصية وتصحيح أخطائها وحفظها.

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

1 نكتب المسار الكامل للبرنامج النصي في PowerShell (أو ISE);

أرز. 13 – تشغيل البرامج النصية من نافذة PowerShell ISE

مهمبحيث لا توجد مسافات في المسار إلى الملف!

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

مرحبًا بالجميع، اليوم أريد أن أخبركم عن كيفية تشغيل برنامج PowerShell النصي في Windows. تخيل الموقف: لقد كتبت برنامجًا نصيًا يبسط بشكل كبير عرض المعلومات على Active Directory، وتفتح الأداة الإضافية Powershell، وتحدد المسار إلى البرنامج النصي الخاص بك، وتضغط على Enter وتحصل على خطأ.

لا يمكن تحميل الملف<путь к вашему файлу>لأن تنفيذ البرنامج النصي محظور لهذا النظام. اكتب "الحصول على مساعدة about_signing" لمزيد من المعلومات.

دعونا نرى كيفية حلها.

يحتوي PowerShell على عدد من أوضاع التنفيذ التي تحدد نوع التعليمات البرمجية المسموح بتشغيلها. يتم التحكم في كل هذا بواسطة مفتاح التسجيل الموجود في HKLM. هناك 4 وضع مختلفعمليات الإعدام:

محدود(مقيد): لا تسمح سياسة التنفيذ الافتراضية بتشغيل البرامج النصية وتسمح فقط بتشغيل الأوامر التفاعلية.

وقعت جميعها(الكل مُوقّع): يسمح بتشغيل كافة البرامج النصية. صحيح أن جميع البرامج النصية وملفات التكوين يجب أن يتم توقيعها بواسطة ناشر تثق به؛ هذا الوضعيعرضك لخطر تشغيل البرامج النصية الموقعة (ولكنها ضارة) بعد تلقي تأكيد الثقة في الناشر.

تم حذف التوقيع(التوقيع عن بعد): تعمل البرامج النصية المحلية بدون توقيع. يجب أن تكون جميع البرامج النصية التي تم تنزيلها موقعة رقميًا.

غير محدود(غير مقيد): جميع البرامج النصية وملفات التكوين المستلمة من تطبيقات الاتصال مثل Microsoft Outlook، إنترنت إكسبلورر، يعمل Outlook Express وWindows Messenger بعد التأكد من فهمك أن الملف يأتي من الإنترنت؛ لا أحد التوقيعات الرقميةغير مطلوب؛ يعرضك هذا الوضع لخطر تشغيل البرامج النصية الضارة غير الموقعة.

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

السماح بتشغيل البرامج النصية بوويرشيل

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

عندما يُطلب منك ذلك، اضغط على Y للسماح بتنفيذ البرنامج النصي. بعد هذه المعالجات، سوف تكون قادرًا على تشغيل البرنامج النصي الخاص بك.

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، وليس من وحدة التحكم المعتادة وحدة تحكم ويندوز. في وحدة تحكم 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 في نفس سطر الأوامر.

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

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

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

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

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

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

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

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