Mengapa saya PowerShell script tidak berjalan?
Saya menulis sebuah file batch sederhana sebagai PowerShell script, dan saya mendapatkan kesalahan ketika mereka jalankan.
It's di direktori scripts di jalan saya. Ini adalah kesalahan yang saya dapatkan:
Tidak dapat dimuat karena eksekusi script dinonaktifkan pada sistem ini. Silakan lihat "get-help tentang penandatanganan".
Aku melihat ke dalam, tapi's kurang bermanfaat.
96
8
Ini bisa menjadi PowerShell's default tingkat keamanan, yang (IIRC) hanya akan berjalan ditandatangani script.
Coba ketik ini:
Yang akan memberitahu PowerShell untuk memungkinkan lokal (yaitu, pada drive lokal) unsigned script untuk menjalankan.
Kemudian mencoba mengeksekusi script anda lagi.
Anda perlu untuk menjalankan
Set-ExecutionPolicy
:Gunakan:
Selalu gunakan perintah di atas untuk memungkinkan untuk menjalankan PowerShell dalam sesi saat ini.
Aku mampu melewati kesalahan ini dengan menerapkan PowerShell seperti ini:
Artinya, saya menambahkan
-executionpolicy bypass
dengan cara saya dipanggil script.Ini bekerja pada Windows 7 Service Pack 1. Saya baru PowerShell, sehingga tidak bisa menjadi peringatan untuk melakukan itu saya tidak menyadari.
[Edit 2017-06-26] saya melanjutkan untuk menggunakan teknik ini pada sistem lain termasuk Windows 10 dan Windows 2012 R2 tanpa masalah.
Berikut adalah apa yang saya gunakan sekarang. Ini membuat saya secara tidak sengaja menjalankan script dengan mengklik di atasnya. Ketika saya jalankan di scheduler saya tambahkan satu argumen: "scheduler" dan yang bypasses prompt.
Ini juga jeda jendela di akhir sehingga aku dapat melihat output dari PowerShell.
Juga's worth mengetahui bahwa anda mungkin perlu untuk memasukkan
.\
di depan nama script. Misalnya:Perintah di atas bekerja untuk saya bahkan ketika kesalahan berikut terjadi:
Perintah
set-executionpolicy unrestricted
akan memungkinkan setiap script yang anda buat untuk menjalankan sebagai login pengguna. Hanya pastikan untuk mengatur executionpolicy pengaturan kembali untuk menandatangani menggunakanset-executionpolicy menandatangani perintah
sebelum log out.Di Windows 10: Klik ubah properti keamanan dari myfile.ps1 dan perubahan, "memungkinkan akses" dengan klik kanan / properties pada myfile.ps1