PowerShell CmdLet เป็นเครื่องมือภายนอกของ Visual Studio

ฉันกำลังพยายามเพิ่ม PowerShell cmdlet เป็นเครื่องมือภายนอกใน Visual Studio 2010 แต่เมื่อใดก็ตามที่ฉันเรียกใช้เครื่องมือภายนอก ฉันจะได้รับ:

ไม่สามารถโหลด {foo} ได้เนื่องจากการเรียกใช้สคริปต์ถูกปิดใช้งานบนระบบนี้ โปรดดู "get-help about_signing" สำหรับรายละเอียดเพิ่มเติม

ฉันได้ตั้งค่านโยบายการดำเนินการของระบบเป็น 'RemoteSigned' แล้ว (ฉันได้ลองใช้ 'Bypass' แล้ว) แล้วเหตุใดจึงเกิดเหตุการณ์เช่นนี้ ฉันสามารถเรียกใช้สคริปต์เดียวกันนั้นได้อย่างเต็มที่หากฉันเปิดบรรทัดคำสั่งและเรียกมันผ่าน powershell.exe path\to\script.ps1 (ซึ่งตรงกับคำจำกัดความของเครื่องมือภายนอกของฉัน)


person Nathan Taylor    schedule 20.10.2010    source แหล่งที่มา


คำตอบ (1)


คุณใช้งานระบบ x64 หรือไม่? หากเป็นเช่นนั้น คุณต้องตั้งค่าการดำเนินการสำหรับทั้ง x86 และ x64 PowerShell คุณยังสามารถส่ง ExecutionPolicy โดยตรงเป็นพารามิเตอร์ไปยัง Powershell (2.0) ผ่านทางบรรทัดคำสั่ง:

powershell.exe -ExecutionPolicy RemoteSigned -Command "&{ foo }"
person Keith Hill    schedule 21.10.2010
comment
ทำได้ดีนี่. คุณช่วยฉันออกจากหลุมที่นั่น :) - person Antony Scott; 29.03.2011