Berikut cara memaksimalkan Windows PowerShell dengan mengaktifkan Kebijakan Eksekusi Skrip.
iPowerShell, secara default, memungkinkan Anda menjalankan perintah (cmdlet) melalui konsolnya. Untuk menjalankan skrip, Anda dapat membuat file notepad dengan kode skrip, menyimpannya dengan ekstensi file .ps1, dan menjalankannya melalui konsol PowerShell. Anda juga dapat langsung menempelkan skrip ke konsol untuk dieksekusi.
Namun, jika ini pertama kalinya Anda menjalankan skrip melalui PowerShell, Anda akan menemukan kesalahan "skrip yang sedang berjalan dinonaktifkan". Secara default, eksekusi skrip di PowerShell dinonaktifkan sebagai tindakan pengamanan untuk mencegah skrip jahat berjalan di sistem Anda. Di sini kami tunjukkan dua cara untuk mengaktifkan kebijakan eksekusi skrip di Windows PowerShell.
Cara Memeriksa Kebijakan Eksekusi Anda yang Ada
Anda dapat menggunakan cmdlet PowerShell untuk mendapatkan kebijakan eksekusi saat ini. Mengetahui kebijakan eksekusi Anda saat ini diperlukan untuk mengetahui apakah Anda memerlukan perubahan kebijakan atau tidak.
Untuk mendapatkan kebijakan eksekusi Anda saat ini untuk pengguna saat ini:
- Buka Windows PowerShell sebagai administrator.
- Ketik perintah berikut di konsol PowerShell dan tekan Enter:
mendapatkan- kebijakan eksekusi
- Karena Anda mengalami kesalahan saat menjalankan skrip, pengembalian kemungkinan besar akan ditampilkan Terbatas sebagai kebijakan eksekusi Anda saat ini.
- Jika Anda perlu melihat kebijakan eksekusi untuk semua cakupan yang didukung:
mendapatkan-kebijakan eksekusi -daftar
Anda harus mengubah kebijakan eksekusi menjadi RemoteSigned untuk menjalankan skrip lokal tanpa kesalahan. Anda dapat mengubah kebijakan eksekusi dari aplikasi Pengaturan dan PowerShell.
Cara Mengaktifkan Kebijakan Eksekusi PowerShell Menggunakan Aplikasi Pengaturan
Anda dapat mengubah dan menyetel kebijakan eksekusi PowerShell ke RemoteSigned menggunakan aplikasi Pengaturan. Yang harus Anda lakukan adalah men-tweak pengaturan PowerShell di bagian pengembang untuk mengubah kebijakan eksekusi untuk mengaktifkan eksekusi skrip PowerShell.
Untuk mengubah kebijakan eksekusi menggunakan Pengaturan:
- Tekan Menang + I untuk membuka SeTting.
- Buka Privasi & Keamanan tab di panel kiri.
- Selanjutnya, klik Untuk pengembang.
- Klik untuk meluaskan PowerShell bagian.
- Alihkan sakelar ke ubah kebijakan eksekusi untuk mengizinkan skrip PowerShell lokal berjalan tanpa penandatanganan - Memerlukan penandatanganan untuk skrip jarak jauh.
- Setelah selesai, buka PowerShell, ketik get kebijakan eksekusi, dan tekan Memasuki. Kebijakan eksekusi untuk pengguna saat ini sekarang diatur ke Ditandatangani jauh.
- Jika Anda perlu menonaktifkan kebijakan eksekusi, alihkan sakelar PowerShell dan setel ke Mati.
Cara Mengizinkan Skrip Berjalan di PowerShell menggunakan PowerShell
Anda dapat menggunakan a cmdlet PowerShell untuk menyetel kebijakan eksekusi ke RemoteSigned. Antarmuka baris perintah memudahkan untuk mengubah kebijakan eksekusi dengan cepat tanpa menggunakan aplikasi Pengaturan.
Selain itu, aplikasi Pengaturan hanya dapat mengaktifkan atau menonaktifkan kebijakan eksekusi RemoteSigned. Sedangkan PowerShell memungkinkan Anda mengatur kebijakan dan cakupan lainnya juga.
Untuk mengubah kebijakan eksekusi menggunakan PowerShell:
- Buka PowerShell sebagai administrator.
- Di jendela PowerShell, ketik perintah berikut dan tekan Memasuki:
Mengatur-ExecutionPolicy RemoteSigned
- Jika diminta, tekan A untuk mengkonfirmasi tindakan. Ini akan mengatur Ditandatangani jauh kebijakan eksekusi untuk semua pengguna. Jika Anda ingin mengatur kebijakan eksekusi untuk Pengguna Saat Ini saja, gunakan parameter Lingkup diikuti dengan nama pengguna.
- Misalnya, untuk mengatur Ditandatangani jauh kebijakan eksekusi untuk Pengguna Saat Ini, gunakan perintah berikut:
Mengatur-ExecutionPolicy RemoteSgined -Cakupan Pengguna Saat Ini
- Mengganti Pengguna Saat Ini dalam perintah di atas dengan pengguna lain (Cakupan) sesuai kebutuhan Anda.
Cara Menghapus Kebijakan Eksekusi Skrip Menggunakan PowerShell
Jika Anda ingin menonaktifkan eksekusi skrip, setel kebijakan eksekusi ke Belum diartikan menggunakan the Set_ExecutionPolicy cmdlet. Ini adalah status default dan mencegah PowerShell mengeksekusi skrip apa pun.
Untuk menonaktifkan eksekusi skrip menggunakan PowerShell:
- Buka PowerShell dengan izin yang lebih tinggi.
- Selanjutnya, ketik perintah berikut dan tekan enter untuk menonaktifkan eksekusi skrip untuk semua pengguna:
Mengatur-Kebijakan Eksekusi belum diartikan
- Perintah di atas akan menetapkan default kebijakan eksekusi (tidak ditentukan) untuk semua pengguna. Jika Anda ingin menonaktifkan eksekusi skrip untuk cakupan tertentu, gunakan perintah berikut:
Mengatur-Kebijakan Eksekusi belum diartikan - Lingkup Pengguna Saat Ini
- Perintah di atas akan menonaktifkan eksekusi skrip untuk Pengguna Saat Ini.
Memahami Kebijakan dan Cakupan Eksekusi
Sederhananya, kebijakan eksekusi PowerShell adalah kebijakan yang mengontrol bagaimana PowerShell mengeksekusi file konfigurasi dan skrip. Tujuan yang dimaksud adalah untuk mencegah pengguna menjalankan skrip berbahaya secara tidak sengaja. Tujuh kebijakan eksekusi PowerShell adalah Default, Restricted, RemoteSigned, AllSigned, Unrestricted, Bypass, dan Undefined.
Tabel di bawah menjelaskan secara singkat semua kebijakan eksekusi PowerShell:
Kebijakan Eksekusi |
Pelaksanaan |
Bawaan |
Menetapkan kebijakan eksekusi default sebagai Restricted on Windows Client dan RemoteSigned di Windows Server. |
Semua Ditandatangani |
Mengizinkan eksekusi skrip yang ditandatangani penerbit. |
Jalan pintas |
Eksekusi skrip yang tidak terbatas untuk aplikasi yang lebih besar. |
Ditandatangani jauh |
Mengizinkan eksekusi skrip yang ditulis secara lokal. Memerlukan tanda tangan digital untuk skrip yang diunduh dari internet. |
Terbatas |
Tidak mengizinkan eksekusi skrip, tetapi hanya perintah PowerShell individual. |
Belum diartikan |
Menetapkan kebijakan eksekusi ke Restricted untuk klien Windows dan RemoteSigned untuk Windows Server. |
Tidak dibatasi |
Izinkan eksekusi skrip yang tidak ditandatangani dengan peringatan untuk skrip yang diunduh dari internet. |
Lingkup Kebijakan Eksekusi
Anda dapat menetapkan kebijakan eksekusi untuk cakupan tertentu di PowerShell. Lima ruang lingkup kebijakan eksekusi adalah MachinePolicy, UserPolicy, Proses, CurrentUser, Dan Mesin lokal.
Tabel di bawah ini menjelaskan secara singkat semua cakupan kebijakan eksekusi:
Lingkup Kebijakan Eksekusi |
Pelaksanaan |
Kebijakan Pengguna |
Dikonfigurasi oleh Kebijakan Grup untuk pengguna saat ini. |
Kebijakan Mesin |
Dikonfigurasi oleh Kebijakan Grup untuk semua pengguna. |
PenggunaCurren |
Dikonfigurasi untuk pengguna saat ini dan disimpan di subkunci registri HKEY_CURRENT_MACHINE. |
Mesin lokal |
Dikonfigurasi untuk semua pengguna dan disimpan di subkunci registri HKEY_CURRENT_MACHINE. |
Proses |
Memengaruhi sesi PowerShell saat ini dan secara otomatis dihapus saat sesi ditutup. |
Tambah atau Hapus Kebijakan Eksekusi Skrip PowerShell di Windows
Eksekusi skrip di PowerShell dinonaktifkan secara default untuk klien Windows dan disetel ke RemoteSigned untuk server Windows. Power user, bagaimanapun, dapat mengubah kebijakan eksekusi untuk menjalankan skrip PowerShell lokal, ditandatangani, dan tidak ditandatangani.
Alternatifnya, Anda dapat mengabaikan kebijakan eksekusi PowerShell dengan menempelkan skrip ke konsol PowerShell atau ECHO skrip Anda ke input standar PowerShell. Ini berguna jika Anda ingin mengeksekusi skrip tanpa mengubah kebijakan eksekusi.