youtube-dl tidak dapat menjalankan skrip PowerShell

-1

Saya mencoba membuat youtube-dl untuk memanggil skrip PowerShell kecil yang saya buat yang mengubah audio yang diunduh ke mp3 sementara pada saat yang sama menormalkannya sehingga semua lagu yang saya unduh memiliki volume yang sama. Masalahnya adalah bahwa cara youtube-dlini mencoba untuk mengeksekusinya:

PS > youtube-dl -i -f bestaudio --exec "powershell D:\PowerShell\ConvertAndNormalize.ps1 {}" https
://www.youtube.com/watch?v=8v_4O44sfjM
[youtube] 8v_4O44sfjM: Downloading webpage
[youtube] 8v_4O44sfjM: Downloading video info webpage
[download] Destination: Christina Perri - Jar of Hearts [Official Music Video]-8v_4O44sfjM.webm
[download] 100% of 4.20MiB in 00:00
[exec] Executing command: powershell D:\PowerShell\ConvertAndNormalize.ps1 "Christina Perri - Jar of Hearts [Official Music Video]-8v_4O44sfjM.webm"
D:\PowerShell\ConvertAndNormalize.ps1 : File D:\PowerShell\ConvertAndNormalize.ps1 cannot be loaded because running
scripts is disabled on this system. For more information, see about_Execution_Policies at
https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ D:\PowerShell\ConvertAndNormalize.ps1 Christina Perri - Jar of Hearts ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess
ERROR: Command returned error code 1
PS > Get-ExecutionPolicy
RemoteSigned

Memanggil skrip dari powershell langsung berfungsi seperti yang diharapkan:

PS > D:\PowerShell\ConvertAndNormalize.ps1 "Christina Perri - Jar of Hearts [Official Music Video]
-8v_4O44sfjM.webm"

Bagaimana saya bisa membuat youtube-dl memanggil skrip PowerShell saya?

usbpc102
sumber
1
Anda memiliki pengecualian keamanan. Pesan kesalahan Anda memberi tahu Anda apa yang harus dilakukan. Pergi ke https: /go.microsoft.com/fwlink/? LinkID = 135170 dan ikuti instruksi.
DavidPostill
Pertama kali saya pergi ke sana saya mengabaikan saklar untuk powershell.exe dengan -ExecutionPolicyseperti yang Anda lihat di atas saya sudah menetapkan kebijakan eksekusi untuk sistem untuk RemoteSigned dan berpikir bahwa akan melakukannya.
usbpc102

Jawaban:

0

Saya perlu menambahkan -ExecutionPolicy RemoteSingedperintah sebagai berikut:

PS > youtube-dl -i -f bestaudio --exec "powershell -ExecutionPolicy RemoteSigned D:\PowerShel\ConvertAndNormalize.ps1 {}" https://www.youtube.com/watch?v=8v_4O44sfjM

Saya masih tidak yakin lingkup apa yang saya perlu berikan untuk agar tidak harus melakukan itu tetapi berfungsi sehingga hanya itu yang saya inginkan.

usbpc102
sumber