windows - ويندوز - فشل تحميل البرنامج النصي




كيفية تشغيل البرنامج النصي PowerShell؟ (8)

  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 النصي؟

  • لدي برنامج نصي اسمه 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 بتشغيل أحد البرامج ، وإرجاع مستوى الخطأ الذي يعتمد على مخرجات هذا البرنامج. لكنني متأكد من أنني لم أصل إلى هناك بعد.

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


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

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


إذا كنت ترغب في تشغيل برنامج نصي دون تعديل نهج تنفيذ البرنامج النصي الافتراضي ، يمكنك استخدام رمز التبديل عند بدء تشغيل 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

باستخدام ملف cmd (BAT):

@echo off
color 1F
echo.

C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "PrepareEnvironment.ps1"

:EOF
echo Waiting seconds
timeout /t 10 /nobreak > NUL

إذا كنت بحاجة إلى تشغيل كمسؤول :

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

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


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

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

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


  • إعطاء مسار البرنامج النصي ، وهذا هو ، مسار الإعداد من قبل كمد:

    $> . c:\program file\prog.ps1

  • قم بتشغيل وظيفة نقطة الإدخال الخاصة بـ PowerShell:

    على سبيل المثال ، $> add or entry_func or main





scripting