PowerShell memiliki sejumlah mode eksekusi yang menentukan jenis kode apa yang diizinkan untuk dijalankan, ini diatur oleh kunci registri yang hidup di HKLM sarang. Ada 4 mode eksekusi yang berbeda, yaitu:
- Terbatas: Kebijakan eksekusi default, tidak menjalankan skrip, hanya perintah interaktif.
- Semua Ditandatangani: Menjalankan skrip; semua skrip dan file konfigurasi harus ditandatangani oleh penerbit yang Anda percayai; membuka Anda terhadap risiko menjalankan skrip yang ditandatangani (tapi berbahaya), setelah mengonfirmasi bahwa Anda memercayai penerbit.
- Remote Signed: Skrip lokal berjalan tanpa tanda tangan. Setiap skrip yang diunduh membutuhkan tanda tangan digital, bahkan jalur UNC.
- Tidak dibatasi: Menjalankan skrip; semua skrip dan file konfigurasi yang diunduh dari aplikasi komunikasi seperti Microsoft Outlook, Internet Explorer, Outlook Express, dan Windows Messenger dijalankan setelah mengonfirmasi bahwa Anda memahami file yang berasal dari Internet; tidak diperlukan tanda tangan digital; membuka Anda terhadap risiko menjalankan skrip berbahaya yang tidak ditandatangani dan berbahaya yang diunduh dari aplikasi ini
Kebijakan eksekusi standar PowerShell disebut Dibatasi. Dalam mode ini, PowerShell beroperasi sebagai shell interaktif saja. Ini tidak menjalankan skrip, dan memuat hanya file konfigurasi yang ditandatangani oleh penerbit yang Anda percayai. Jika Anda mendapatkan kesalahan merah yang jahat, penyebab yang paling mungkin adalah Anda mencoba menjalankan skrip yang tidak ditandatangani. Hal yang paling aman untuk dilakukan adalah mengubah Kebijakan Eksekusi menjadi tidak terbatas, jalankan skrip Anda dan kemudian mengubahnya kembali menjadi terbatas.
Untuk mengubahnya menjadi tidak terbatas jalankan perintah berikut dari PowerShell administratif:
Set-ExecutionPolicy Unrestricted
Anda akan ditanya apakah Anda yakin bahwa Anda ingin mengubah Kebijakan Eksekusi menekan tombol enter lagi.
Set-ExecutionPolicy Restricted
Sekali lagi Anda akan ditanya apakah Anda yakin bahwa Anda ingin mengubah mode eksekusi, maju dan tekan enter.