الأمر Powershell.exe: بناء الجملة والمعلمات والأمثلة

18 ديسمبر 2021 15812 الآراء حدود مدقق توافق Windows 11

كلما تقدمت في مهارات البرمجة النصية الخاصة بك في PowerShell ، سرعان ما تدرك أنك بحاجة إلى استخدام Powershell.exe Command.

في منطقة S هذه ، ستتعلم كيفية استخدام الأمر PowerShell.exe ووسيطاته.

في القسم الأول من الدليل ، ستتعرف على مواقع ملف PowerShell القابل للتنفيذ.

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

القسمين الثالث والرابع ، غطاء تعليمات أمر PowerShell.exe ووسيطاته على التوالي. علاوة على ذلك ، في القسم الخامس ، ستتعرف على المعلمات الشائعة لـ PowerShell.exe.

أخيرًا ، في القسم السادس والأخير ، أتعمق في بعض أمثلة SysAdmin الواقعية.

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

تصفح مواضيع المنشور

موقع PowerShell.exe القابل للتنفيذ في نظام التشغيل Windows 10

الموقع القابل للتنفيذ لأمر PowerShell.exe

قبل أن نصل إلى الجزء الذي تتعرف فيه على أوامر PowerShell.exe ، أعتقد أنه من الضروري أن تعرف موقع الملف القابل للتنفيذ. في القسم التالي ، سترى الفائدة الأولى من هذه المعرفة.

في Windows 10 ، يوجد PowerShell.exe في مجلدين. يمكنك العثور عليه هنا -٪ SystemRoot٪ SysWOW64 WindowsPowerShell v1.0

بالإضافة إلى ذلك ، يمكنك أيضًا العثور على PowerShell.exe في٪ SystemRoot٪ system32 WindowsPowerShell v1.0 .

إذا قمت بتشغيل الإصدار 32 بت من Windows 10 ، فسيحتوي Windows 10 على٪ SystemRoot٪ system32 WindowsPowerShell v1.0 فقط. ومع ذلك ، إذا قمت بتشغيل 64 بت ، فسيكون لديك كلا المسارين.

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

كيفية إصلاح خطأ الأمر PowerShell.exe غير موجود

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

قبل الشروع في مناقشة الأمر PowerShell.exe أكثر ، دعني أتعامل مع خطأ قد يتلقاها بعض الأشخاص عند تشغيلهم PowerShell.exe - لم يتم العثور على الأمر.

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

إذا تلقيت إحدى رسائل الخطأ هذه ، فإن الجاني المحتمل هو متغير مسار البيئة. الحل هو إضافة المسار ،٪ SYSTEMROOT٪ System32 WindowsPowerShell v1.0 إلى متغير بيئة المسار الخاص بك.

إذا كنت تواجه هذه المشكلة ، فاتبع الخطوات أدناه لإصلاحها ...

  1. يدخل المتقدمة في مربع بحث Windows 10. ثم اضغط اعرض إعدادات النظام المتقدمة من نتائج البحث.
  1. أسفل بدء التشغيل والانتعاش القسم ، انقر فوق متغيرات البيئة.
  1. ثم ، في متغيرات الأنظمة ، انقر نقرًا مزدوجًا فوق ملف طريق عامل.
  1. عند فتح قائمة متغير المسار ، انقر فوق جديد .
  2. ثم أدخل٪ SYSTEMROOT٪ System32 WindowsPowerShell v1.0 واضغط على مفتاح الإدخال على لوحة المفاتيح.
  1. بمجرد تأكيد إدخال المسار بنجاح ، انقر فوق 'موافق' 3 مرات.
  2. أخيرًا ، أغلق وأعد فتح Powershell. بعد ذلك ، قم بتشغيل الأمر Powershell.exe مرة أخرى. هذه المرة ، يجب أن تعمل.

تعليمات سطر الأوامر PowerShell.exe

تعليمات سطر الأوامر PowerShell.exe

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

PowerShell.exe -Help PowerShell.exe -? PowerShell.exe /?
يمكنك أيضًا تشغيل الأمر بدون. exe المضمن في PowerShell.

إليك ما تبدو عليه معلومات تعليمات PowerShell.exe….

تعليمات سطر الأوامر PowerShell.exe

تسرد معلومات التعليمات بناء جملة الأمر ، وسيطاته / معلماته وبعض الأمثلة. سنغطي كل هذه الأمور في الأقسام التالية من هذا الدليل.

بناء جملة الأمر PowerShell.exe

بناء جملة الأمر PowerShell.exe هو ...

PowerShell.exe -
لا داعي لتضمينه .إملف تنفيذى في الأمر. إنه اختياري.

سيتم مناقشة وسيطات سطر الأوامر الكاملة في القسم التالي.

وسائط / معلمات سطر أوامر PowerShell.exe

وسائط / معلمات سطر أوامر PowerShell.exe

لقد رأيت بالفعل كيفية سرد معلومات المساعدة لـ PowerShell.exe. عندما تقوم بإدراج معلومات تعليمات PowerShell ، فإنها تتضمن وسيطات سطر الأوامر والمعلمات.

لقد قمت بإدراج جميع وسائط سطر أوامر PowerShell.exe في الجدول أدناه:

S / Nوسيطة سطر الأوامر PowerShell.exe الغرض من حجة خط القائد
واحدسياسة التنفيذاستخدم هذه المعلمة لتعيين نهج التنفيذ الافتراضي لجلسة PowerShell الحالية.
اثنينلا يوجد مخرجإذا كنت تستخدم معلمة NoExit ، فلن يتم إنهاء PowerShell بعد تشغيل أوامر بدء التشغيل
3لا الشخصيةاستخدم هذه الوسيطة إذا كنت لا تريد تحميل ملف تعريف Windows PowerShell
4غير تفاعليإذا كنت تستخدم المعلمة NonInteractive ، فلن يقدم PowerShell مطالبة تفاعلية للمستخدم
5ملفتُستخدم هذه المعلمة لتشغيل برنامج نصي محدد في النطاق المحلي - تتوفر الوظائف والمتغيرات التي تم إنشاؤها بواسطة البرنامج النصي في الجلسة الحالية
6NoLogoيخفي معلومات Microsoft المعروضة عند بدء تشغيل PowerShell.exe. كما أنه يخفي جميع معلومات بدء التشغيل الأخرى.
7الإصداريتم استخدام معلمة الإصدار لبدء تشغيل PowerShell في إصدار محدد.
8WindowStyleيحدد نمط PowerShell Windows. القيم الصالحة هي Normal ، أو Minimized ، أو Maximized ، أو Hidden
9يأمراستخدم معلمة الأمر لتحديد الأمر الذي تريد أن يقوم PowerShell.exe بتنفيذه.
10ملف PSConsoleيستخدم لتحديد ملف وحدة تحكم Windows PowerShell. يمكنك إنشاء ملف وحدة تحكم باستخدام الأمر Export-Console
أحد عشريكونيبدأ تشغيل غلاف PowerShell باستخدام شقة ذات مؤشر ترابط واحد. هذا هو الافتراضي.
12Mtaابدأ هيكل PowerShell باستخدام شقة متعددة الخيوط. الافتراضي هو sta
13نمط الإدخالاستخدم هذه المعلمة لوصف نوع البيانات المرسلة إلى PowerShell. القيم الصالحة هي XML أو Text.
14تنسيق الإخراجتُستخدم هذه المعلمة لتحديد كيفية تنسيق PowerShell لقيم الإخراج الخاصة به. القيم الصالحة هي XML أو Text
خمسة عشرEncodedCommandيُستخدم لإرسال أوامر معقدة إلى PowerShell. تقبل المعلمة EncodedCommand إصدار سلسلة مشفر بالأساس 64 للأمر
16اسم التكويناستخدم وسيطة ConfigurationName لتحديد نقطة نهاية تكوين لـ PowerShell
17يساعديعرض معلومات التعليمات الكاملة ، بما في ذلك وسيطات الأمر PowerShell.exe

أمثلة معلمات الأمر PowerShell.exe الشائعة

أمثلة معلمات الأمر PowerShell.exe الشائعة

في القسم الأخير ، قمت بإدراج جميع وسيطات سطر الأوامر الخاصة بأمر PowerShell.exe. في هذا القسم ، سأتعمق في بعض المعلمات الشائعة وكيفية استخدامها.

تنفيذ الأمر PowerShell.exe معلمة السياسة

كما هو موضح في القسم الأخير ، يتم استخدام معلمة ExecutionPolicy لتعيين الافتراضي سياسة التنفيذ لجلسة PowerShell الحالية. يتم حفظ سياسة التنفيذ الافتراضية التي تم تعيينها بواسطة المعلمة ExecutionPolicy في ملف $ env: PSExecutionPolicyPreference متغيرات البيئة.

لاحظ أن سياسة التنفيذ التي حددتها هذه المعلمة صالحة فقط لجلسة PowerShell الحالية. علاوة على ذلك ، فإنه لا يعدل نهج تنفيذ PowerShell المعين في سجل Windows.

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

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

لمعرفة المزيد حول سياسات التنفيذ هذه وكيفية عملها ، اقرأ شرح سياسة تنفيذ PowerShell يرشد.

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

PowerShell.exe -ExecutionPolicy  Unrestricted  

هذا هو الأمر في PowerShell ...

لقد ذكرت سابقًا في هذا القسم الفرعي أن سياسة التنفيذ التي حددتها هذه المعلمة يتم حفظها في ملف $ env: PSExecutionPolicyPreference متغيرات البيئة.

لتأكيد ذلك ، قم بتشغيل الأمر أدناه في نفس جلسة PowerShell التي قمت بتشغيل الأمر الأخير ...

$env:PSExecutionPolicyPreference

انطلق ... يوضح الأمر أن سياسة التنفيذ هي غير مقيد !

أمثلة معلمات الأمر PowerShell.exe الشائعة

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

معلمة NoExit لأمر PowerShell.exe

بشكل افتراضي ، عند تشغيل أمر PowerShell.exe ، بعد تشغيل أوامر بدء التشغيل ، سيتم إنهاء shell. إذا كنت لا تريد إنهاء shell ، فحدد المعلمة NoExit.

هذه معلمة تبديل - بمعنى أنها لا تتطلب أي مدخلات إضافية.

أفضل طريقة لإظهار كيفية عمل ذلك هي استخدام cmd. أولاً ، افتح موجه أوامر Windows.

ثم افتح مدير المهام وقم بتوسيع معالج أوامر Windows - لن تحتوي على أي حالات PowerShell.

معلمة NoExit لأمر PowerShell.exe

ارجع إلى موجه أوامر Windows وقم بالتشغيل بوويرشيل .

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

معلمة NoExit لأمر PowerShell.exe

لتوضيح أنه عند تشغيل أمر PowerShell.exe بدون المعلمة NoExit ، يتم الخروج منه ، والعودة إلى موجه أوامر Windows وتشغيل الأمر التالي ...

powershell.exe -Command {Write-Host 'This will exits'}

مرة أخرى ، ارجع إلى إدارة مهام Windows. لا يزال يجب أن يحتوي على مثيل واحد من PowerShell على الرغم من أنك قمت للتو بتشغيل أمر PowerShell.exe.

هذا لأنه بشكل افتراضي عند تشغيل أمر PowerShell.exe عند اكتمال الأمر ، فإنه يخرج من shell.

معلمة NoExit لأمر PowerShell.exe

أخيرًا ، قم الآن بتشغيل أمر PowerShell.exe هذا باستخدام معلمة NoExit ...

powershell.exe -Command {Write-Host 'This will NOT exit'} -NoExit

إذا نظرت إلى Windows Task Manager ، فإن ملف معالج أوامر Windows سيكون له مثيل إضافي من PowerShell.

معلمة NoExit لأمر PowerShell.exe

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

تشغيل خروج يخرج الأمر من جلسة PowerShell الأخيرة التي بدأها الأمر الأخير.

معلمة NoProfile لأمر PowerShell.exe

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

مثل لا يوجد مخرج و لا الشخصية هي معلمة تبديل - لا تتطلب أي مدخلات.

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

ومع ذلك ، إذا كنت بحاجة إلى تخصيص بيئة PowerShell الخاصة بك ببعض الأوامر أو الأسماء المستعارة أو الوظائف ، فيمكنك إنشاء برنامج نصي للملف الشخصي. ثم احفظ البرنامج النصي باسم Microsoft.PowerShell_profile.ps1 في الموقع أدناه:

$HomeDocumentsPowerShell

لقد دخلت في بعض التفاصيل حول ملفات تعريف PowerShell حتى تفهم سبب عدم رغبتك في تحميل أي ملفات تعريف PowerShell موجودة. لقراءة المزيد حول ملفات تعريف PowerShell ، قم بزيارة about_Profiles .

أخيرًا ، لتشغيل أمر PowerShell.exe دون تحميل أي ملفات تعريف ، استخدم ملحق لا الشخصية معامل. هنا أمر عينة ...

PowerShell.exe -NoProfile -Command {Get-Eventlog -LogName System}

معلمة غير تفاعلية لأمر PowerShell.exe

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

يُشار إلى سلوك PowerShell هذا باسم ملف تفاعلي سلوك. هذا يعني أن PowerShell يتفاعل عن طريق المطالبة بإدخال المدخلات.

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

هذا هو المكان غير تفاعلي تأتي المعلمة.

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

Get-Credential
معلمة NoLogo لأمر PowerShell.exe

ومع ذلك ، إذا كنت لا أريد أن يطلب مني PowerShell بيانات الاعتماد ، فسأقوم بتعديل الأمر كما هو موضح أدناه ...

PowerShell.exe -NonInteractive -Command {Get-Credential}

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

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

معلمة NoLogo لأمر PowerShell.exe

إذا قمت بتشغيل أمر PowerShell.exe ، فإنه يعرض بعض معلومات حقوق النشر. انظر الجزء المميز من لقطة الشاشة أدناه.

معلمة إصدار الأمر PowerShell.exe

ومع ذلك ، إذا كنت لا تريد أن يعرض PowerShell معلومات حقوق النشر هذه عند بدء تشغيله ، فقم بتضمين ملف NoLogo معامل. هنا مثال…

PowerShell.exe -NoLogo

الآن ، مع NoLogo المعلمة ، يتم فتح PowerShell بدون عرض تلك المعلومات.

معلمة إصدار الأمر PowerShell.exe

معلمة إصدار الأمر PowerShell.exe

إذا قمت بإنشاء برنامج نصي PowerShell باستخدام Cmdlets متوافقة مع إصدار PowerShell ، فيمكنك استخدام الإصدار المعلمة لإجبار PowerShell على البدء في إصدار محدد.

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

$PSVersionTable

تُظهر الأوامر أن إصدار PowerShell الحالي هو 5.1 ...

على الرغم من أن الإصدار الحالي من PowerShell على جهاز الكمبيوتر الخاص بي هو 5.1 ، يمكنني إجبار PowerShell على تشغيل الإصدار 2. للقيام بذلك ، سأقوم بتشغيل الأمر أدناه ...

PowerShell.exe -Version 2.0 

الآن ، إذا ركضت ، PSVersionTable دولار ، يظهر أن جلسة PowerShell الخاصة بي مفتوحة الآن في الإصدار 2.0!

لكي يعمل هذا الأمر ، يجب تثبيت إصدار PowerShell الذي تريد تحميله على الكمبيوتر.

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

معلمة ملف الأوامر PowerShell.exe

معلمة WindowStyle للأوامر PowerShell.exe

مرة أخرى ، في سيناريو البرمجة النصية ، إذا كنت لا ترغب في عرض نافذة PowerShell. يمكنك استعمال ال WindowStyle المعلمة لإخفاء نافذة PowerShell.

بالإضافة إلى ذلك ، يمكنك أيضًا استخدام المعلمة لعرض نافذة PowerShell مصغر ، أو مكبرة .

دعونا نرى كيف يتصرف أمر PowerShell.exe إذا حددنا ذلك مختفي مثل WindowStyle ...

PowerShell.exe -WindowStyle Hidden

عند تشغيل هذا الأمر ، كما هو متوقع ، يتم إغلاق نافذة PowerShell من العرض.

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

PowerShell.exe -WindowStyle  Minimized  

أعتقد الآن ، أنك فهمت الجوهر. يمكنك استعمال ال WindowStyle معلمة للتحكم في سلوك نافذة PowerShell.

معلمة أمر PowerShell.exe

لقد استخدمت بالفعل معلمة الأمر في أمثلة متعددة في هذا الدليل. تُستخدم هذه المعلمة لتحديد أمر PowerShell الذي تريد تشغيله.

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

إليك كيفية استخدام علامة العطف مع معلمة الأمر ...

PowerShell.exe -Command '& {Get-EventLog -LogName system}'

للمضي قدمًا ، يمكن أن يكون الأمر عبارة عن أمر PowerShell Cmdlet عادي أو كتلة برنامج نصي أو حتى سلسلة. على سبيل المثال ، يمكنني الحصول على PowerShell لعرض النص ، هذه سلسلة بالأمر أدناه ...

PowerShell -Command {'this is a string'}

معلمة ملف الأوامر PowerShell.exe

ال ملف المعلمة هي معلمة PowerShell.exe مهمة أخرى. يمكنك استخدام هذه المعلمة لاستدعاء برنامج نصي بوويرشيل.

سأقدم مثالاً بأحد نصوص PowerShell النصية التي تنشئ ملف CSV في المسار ، D: PS- البرنامج التعليمي . يقوم البرنامج النصي بإنشاء اسم ملف لملف CSV بالتاريخ والوقت الحاليين.

هذه لقطة شاشة للمجلد - يحتوي على ملف CSV واحد فقط بالتاريخ الحالي ...

أمثلة سطر أوامر PowerShell.exe

الآن ، سأقوم بتشغيل البرنامج النصي باستخدام PowerShell.exe و ملف معامل…

powershell.exe -file D:PS-TutorialExportPSArraytoCSV1.ps1

عندما أقوم بتشغيل الأمر ، يتم إنشاء ملف CSV جديد.

أمثلة سطر أوامر PowerShell.exe

كيفية فتح أمر PowerShell.exe كمستخدم مختلف

في هذا القسم الثاني والأخير من الدليل ، أقدم أمثلة متعددة للطرق المختلفة لاستخدام أمر PowerShell.exe.

كيفية فتح أمر PowerShell.exe كمستخدم مختلف

في هذا القسم ، أوضح لك كيفية فتح PowerShell كمستخدم مختلف.

الخطوة الأولى هي حفظ اسم المستخدم وكلمة المرور في متغير يسمى ، الاعتماد .

$Credential = Get-Credential

عند تشغيل الأمر ، سيطالبك PowerShell بإدخال اسم مستخدم وكلمة مرور. أدخل اسم المستخدم وكلمة المرور للحساب الذي تريد فتح PowerShell به.

أخيرًا ، انقر فوق 'موافق'.

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

Start-Process powershell.exe -Credential $Credential

عند تشغيل الأمر الأخير ، فإنه يفتح جلسة PowerShell جديدة. يتم فتح جلسة PowerShell الجديدة هذه كمستخدم محدد في ملف الاعتماد عامل.

كيفية فتح أمر PowerShell.exe من CMD

الآن ، دعني أطلعك على الأمر ..

Start-Process powershell.exe -Credential $Credential

في الأمر ، اعتدت بدء العملية لبدء Powershell.exe. اضطررت إلى القيام بذلك لأن Powershell.exe لا يحتوي على معلمة بيانات الاعتماد.

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

كيفية فتح أمر PowerShell.exe من CMD

لفتح أمر PowerShell.exe من CMD ، أدخل PowerShell.exe في CMD واضغط على مفتاح الإدخال.

PowerShell.exe

بمجرد تشغيل الأمر ، يتم فتح جلسة PowerShell داخل موجه أوامر Windows.

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

على سبيل المثال ، يمكنني الآن تشغيل ...

Get-ChildItem
كيفية جدولة Powershell Script للتشغيل في برنامج جدولة المهام

قبل الانتقال من هذا القسم الفرعي ، أود أن أذكر أنه عند فتح أمر PowerShell.exe من CMD ، يمكنك استخدام أي من المعلمات.

على سبيل المثال ، إذا كنت لا أرغب في عرض معلومات حقوق النشر ، فسأقوم بتضمين ملف NoLogo معامل.

PowerShell.exe -  NoLogo   

هذه المرة ، يفتح CMD جلسة PS بدون عرض معلومات حقوق النشر المعتادة ...

أخيرًا ، لإغلاق جلسة PowerShell المفتوحة في CMD ، قم بتشغيل ملف خروج يأمر….

  exit   

اضطررت إلى تشغيل خروج الأمر عدة مرات لأنني فتحت عدة جلسات PS.

كيفية جدولة Powershell Script للتشغيل في برنامج جدولة المهام - إنشاء مهمة مجدولة

كيفية تشغيل أمر PowerShell.exe المضمّن

يمكن أن يؤدي تشغيل أمر PowerShell بمعلمات متعددة إلى بعض التحديات.

عندما كنت أبحث في هذا الموضوع ، صادفت هذا سؤال Stackoverflow.com . يريد الشخص تشغيل إرسال بريد إلكتروني أمر PowerShell بمعلمات متعددة.

هذا هو الأمر الذي يحاول الشخص تشغيله ...

PowerShell.exe -Command '{Send-MailMessage -From 'Name [email protected] ' -To ' [email protected] ' -Subject 'Test Subject' -Body 'Test body at $(Get-Date -Format 'dd/MM/yyyy').' -SmtpServer 'smtp.domain.com' -UseSSL}'

لسوء الحظ ، وفقًا للمستخدم ، فشل الأمر. الحل هو إضافة علامة العطف قبل قوس الفتح ، {.

هنا هو الأمر المعدل المقدم من بوكسمانياس ...

PowerShell -Command '& {Send-MailMessage -From 'Name ' -To ' [email protected] ' -Subject 'Test Subject' -Body ('Test body at {0}.' -f (Get-Date -Format 'dd/MM/yyyy')) -SmtpServer 'smtp.domain.com' -UseSSL}'

إذا لاحظت ، بدلاً من علامات الاقتباس المزدوجة المستخدمة لالتفاف قيم المعلمات في الأمر الأصلي ، يستخدم الأمر الجديد علامات اقتباس مفردة.

أخيرًا ، بالنسبة لهذا القسم الفرعي ، فإن الحيلة لتشغيل PowerShell.exe Command المضمنة هي استخدام ملف يأمر معامل. ثم قم بتضمين الأمر {} بين قوسين - أخيرًا ، قم بتضمين علامة العطف وقم بإحاطة كل شيء بين علامتي اقتباس مزدوجتين.

هنا مثال مبسط ...

PowerShell.exe -Command '& {Get-EventLog -LogName system}'

كيفية تشغيل أوامر متعددة في البرنامج النصي PowerShell.exe

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

powershell.exe -Command '&

بعد ذلك ، بما في ذلك قوس الفتح ، {متبوعًا بالأمر الأول ...

powershell.exe -Command '&{Get-Command Out-file

بمجرد إدخال الأمر الأول ، أدخل فاصلة منقوطة بجوار الأمر الأول.

powershell.exe -Command '&{Get-Command Out-file;

ثم أدخل الأمر الثاني ...

powershell.exe -Command '&{Get-Command Out-file;Get-Command Get-ChildItem

أخيرًا ، أدخل قوس الإغلاق ،} - ثم علامة الاقتباس المزدوجة للإغلاق.

powershell.exe -Command '&{Get-Command Out-file;Get-Command Get-ChildItem}'

ها هي نتيجة الأمر ...

يمكنك إضافة أكبر عدد ممكن من الأوامر. فقط تأكد من استخدام فاصلة منقوطة للفصل بينهما.

كيفية إعادة توجيه إخراج أمر PowerShell.exe

أسهل طريقة لإعادة توجيه الإخراج في أمر PowerShell.exe هي استخدام خارج الملف .

عند تشغيل الأمر Powershell.exe ، داخل ملف يأمر المعلمة ، يمكنك توجيه إخراج الأمر إلى خارج الملف . هنا مثال.

powershell.exe -command Get-Process 

يمكنك أيضًا استخدام أي من أوامر معالجة ملفات PowerShell الأخرى مثل إضافة محتوى و مجموعة المحتوى .

كيفية جدولة A Powershell Script للتشغيل في برنامج جدولة المهام

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

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

اتبع الخطوات أدناه لجدولة البرنامج النصي Get-FreeDiskSpace PowerShell:

  1. افتح PowerShell أو موجه الأوامر. ثم اكتب هذا الأمر واضغط على Enter.
taskschd.msc

سيؤدي هذا إلى فتح برنامج جدولة المهام.

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

    ثم حدد التردد. إذا اخترت أسبوعي ، ثم حدد المربع بجوار يوم الأسبوع الذي تريد تشغيل مهمتك فيه.

    أخيرًا ، قم بتكوين إعدادات متقدمة . انقر فوق موافق. ثم ، في إنشاء مهمة الصفحة ، انقر فوق موافق مرة أخرى (الصورة الثانية أدناه).
  1. بعد ذلك ، انقر فوق أجراءات التبويب.
هذا هو المكان الذي تدخل فيه أمر PowerShell.exe.
  1. على ال أجراءات علامة التبويب ، انقر فوق جديد . على ال عمل جديد صفحة تحتها البرنامج / النصي ، أدخل الأمر أدناه:
PowerShell 
  1. ثم بجانب إضافة وسيطات (اختياري) ، أدخل التالي
-File C:PSGet-FreeDiskSpace.ps1
يجب عليك تحديد المسار الكامل للبرنامج النصي الخاص بك ، بما في ذلك الامتداد ، .ps1
  1. عند الانتهاء ، انقر فوق 'موافق'.

هذا كل شيء ، دليل أوامر PowerShell.exe الذي تم تجديده! آمل أن تجد أنه من المفيد؟

إذا وجدت أنها مفيدة ، يرجى التصويت نعم إلى هل كان هذا المنشور سؤالًا مفيدًا أدناه.

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

أخيرًا ، لمزيد من مناطق S PowerShell tech ، تفضل بزيارة صفحة دليل Windows PowerShell How-To. قد تجد أيضًا صفحة العمل من الصفحة الرئيسية الخاصة بنا مفيدة جدًا.

المراجع وقراءات إضافية

  1. about_PowerShell_exe
  2. about_Execution_Policies
  3. about_Profiles