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




فشل تحميل البرنامج النصي (9)

إذا تمت تسمية البرنامج النصي الخاص بك بامتداد .ps1 وكنت في نافذة PowerShell ، ./myscript.ps1 بتشغيل ./myscript.ps1 (بافتراض أن الملف موجود في دليل العمل الخاص بك).

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

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

  • لدي برنامج نصي اسمه myscript.ps1
  • لدي كل الأطر اللازمة المثبتة
  • أنا وضعت هذا الشيء سياسة التنفيذ
  • لقد اتبعت الإرشادات الموجودة على صفحة مساعدة MSDN هذه powershell.exe 'C:\my_path\yada_yada\run_import_script.ps1' تشغيلها كما يلي: powershell.exe 'C:\my_path\yada_yada\run_import_script.ps1' (مع أو withot --noexit)

التي ترجع لا شيء بالضبط ، إلا أن اسم الملف هو الإخراج. لا خطأ ، لا رسالة ، لا شيء. أوه ، عندما أقوم بإضافة -noexit ، يحدث نفس الشيء ، لكنني أظل داخل PowerShell ويجب أن -noexit يدويًا.

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

ما الخطأ الذي افعله؟


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


  1. قم بتشغيل Windows PowerShell ، وانتظر قليلاً حتى يظهر موجه أوامر PS
  2. انتقل إلى الدليل حيث يعيش النص

    PS> cd C:\my_path\yada_yada\ (enter)
    
  3. تنفيذ البرنامج النصي:

    PS> .\run_import_script.ps1 (enter)
    

ماذا ينقصني؟؟

أو: يمكنك تشغيل البرنامج النصي PowerShell من cmd.exe مثل هذا:

powershell -noexit "& ""C:\my_path\yada_yada\run_import_script.ps1""" (enter)

وفقا لهذا بلوق وظيفة هنا

أو يمكنك حتى تشغيل البرنامج النصي Powershell الخاص بك من التطبيق C # :-)

بشكل غير متزامن تنفيذ البرامج النصية PowerShell من تطبيق C # الخاص بك


لقد واجهت نفس المشكلة ، وحاولت وحاولت ... وأخيراً استخدمت:

powershell.exe -noexit "& 'c:\Data\ScheduledScripts\ShutdownVM.ps1'"

ووضع هذا الخط في ملف دفعي ، وهذا يعمل.


سهل جدا. انقر بزر الماوس الأيمن فوق الملف .ps1 في Windows وفي القائمة shell ، انقر فوق Run with PowerShell .


اكتب:

powershell -executionpolicy bypass -File .\Test.ps1

ملاحظة: هنا Test.ps1 هو البرنامج النصي PowerShell.


إذا كان لديك PowerShell 1.0 فقط ، فيبدو أن هذا الإجراء جيد بما فيه الكفاية:

powershell -command - < c:\mypath\myscript.ps1

يقوم بتوجيه ملف البرنامج النصي إلى سطر الأوامر PowerShell.


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

powershell [-noexit] -executionpolicy bypass -File <Filename>

إذا كنت تستخدم الإصدار PowerShell 2.0 ، فستستخدم المعلمة -File الخاصة بـ PowerShell.exe لاستدعاء برنامج نصي من بيئة أخرى مثل cmd.exe على سبيل المثال:

Powershell.exe -File C:\my_path\yada_yada\run_import_script.ps1




scripting