Tidak dapat menjalankan skrip PowerShell di Windows 11

Tidak Dapat Menjalankan Skrip Powershell Di Windows 11



Skrip PowerShell digunakan untuk mengautomasikan tugas berulang dan membuat beberapa perubahan pada konfigurasi sistem anda. Walau bagaimanapun, kami perhatikan bahawa pada masa -masa, tingkap Tidak dapat menjalankan skrip PowerShell di Windows 11/10. Masalah ini boleh mengecewakan kerana  .Ps1  Skrip membolehkan anda melakukan banyak tugas dengan mudah. Dalam jawatan ini, kami akan bercakap tentang isu ini dan melihat apa yang boleh anda lakukan untuk menyelesaikan masalah ini.



  Boleh't run PowerShell script





Betulkan tidak dapat menjalankan skrip PowerShell di Windows 11/10

Jika anda tidak dapat menjalankan skrip PowerShell di Windows 11/10, ikuti penyelesaian yang disebutkan di bawah.





  1. Pelancaran PowerShell sebagai pentadbir
  2. Memintas dasar pelaksanaan
  3. Tetapkan Dasar Pelaksanaan ke Tidak Terikat
  4. Dayakan Pelaksanaan Skrip PowerShell Menggunakan Editor Pendaftaran atau Editor Dasar Kumpulan

Marilah kita bercakap tentang mereka secara terperinci.



Tidak dapat dimuatkan kerana skrip berjalan dilumpuhkan pada sistem ini

1] Pelancaran PowerShell sebagai pentadbir

Pertama, kita perlu mengesahkan sama ada isu yang anda hadapi memang menjadi masalah. Jika anda melancarkan PowerShell sebagai pentadbir  Dengan mencarinya di menu Mula, klik kanan pada PowerShell, dan klik  Jalankan sebagai pentadbir.  Kemudian, cuba jalankan skrip dan lihat apakah itu membantu.

2] memintas dasar pelaksanaan

Dasar pelaksanaan PowerShell adalah ciri keselamatan yang menghalang skrip yang tidak dibenarkan atau berbahaya daripada berjalan. Dasar lalai seperti 'terhad' atau 'remotesigned' boleh menyekat skrip kecuali mereka dibenarkan secara eksplisit atau ditandatangani. Walau bagaimanapun, jika anda menjalankan arahan berikut, anda akan dapat memintas sementara sekatan ini untuk sesi semasa, membolehkan skrip berjalan tanpa mengubah tetapan keselamatan secara kekal.



powershell -ExecutionPolicy ByPass -File ScriptFileName.ps1

Masalahnya di sini ialah kaedah ini tidak akan berfungsi jika proses automatik seperti tugas yang dijadualkan atau runbook beroperasi dalam sesi bukan interaktif. Persekitaran ini sering menguatkuasakan tetapan dasar kumpulan yang ketat yang mengabaikan mengatasi sementara, memastikan keselamatan yang berterusan.

3] Tetapkan Dasar Pelaksanaan ke Tidak Terikat

Seperti yang dinyatakan sebelum ini, kaedah yang disebutkan di atas hanya berfungsi apabila menjalankan skrip mandiri, tetapi jika skrip dijadualkan, kaedahnya tidak berkesan. Oleh itu, anda perlu menetapkan dasar pelaksanaan kepada tidak terhad. Walau bagaimanapun, ini menjadikan sistem anda terdedah, kerana sesiapa sahaja boleh menjalankan skrip berniat jahat di komputer anda jika mereka mempunyai akses kepadanya.

Untuk menetapkan dasar pelaksanaan kepada tidak terhad, jalankan perintah berikut dalam PowerShell.

penjadual tugas tidak berfungsi windows 10
Set-ExecutionPolicy unrestricted

Oleh kerana ia adalah perubahan kepada tetapan sistem anda, anda akan diminta untuk mengesahkan tindakan anda dengan memukul 'Y' atau 'A'.

Walau bagaimanapun, apabila saya mencuba yang sama, saya menemui mesej ralat berikut.

Set-executionPolicy: Windows PowerShell mengemas kini dasar pelaksanaan anda dengan jayanya, tetapi tetapannya ditindih oleh dasar yang ditakrifkan pada skop yang lebih spesifik. Kerana menimpa, cangkang anda akan mengekalkan berkesan sekarang
Dasar pelaksanaan remota. Taipkan 'Get -executionPolicy -List' untuk melihat tetapan dasar pelaksanaan anda.

Jika anda menghadapi ralat ini, anda perlu menjalankan arahan - Get-ExecutionPolicy -List untuk mengetahui sama ada sistem itu mencatatkan perubahan dan apa masalahnya. Ternyata, dalam kes saya, currentuser telah ditetapkan untuk 'ditandatangani jauh', kerana apa -apa perubahan dalam  LocalMachine  Skop tidak membantu.

Jadi, kita perlu menjalankan arahan berikut juga.

DD8D8F3A61D772648DA439E2FD7BFEE8E1D1B35E

Akhirnya, periksa sama ada masalah diselesaikan.

Baca:  Bagaimana cara mengautomasikan tugas dengan PowerShell?

4] Dayakan Pelaksanaan Skrip PowerShell Menggunakan Editor Pendaftaran atau Editor Dasar Kumpulan

Anda juga boleh mengaktifkan pelaksanaan skrip PowerShell menggunakan RegEdit atau GPEDIT. Pertama, mari kita cuba sama dengan menggunakan Editor dasar kumpulan . Buka  Editor dasar kumpulan  Dengan mencarinya di menu Mula. Dan kemudian, navigasi ke lokasi berikut.

Konfigurasi Komputer> Templat Pentadbiran> Komponen Windows> Windows PowerShell

Cari Hidupkan pelaksanaan skrip  dan klik dua kali di atasnya. Tetapkan ke  Didayakan, Dan kemudian anda boleh menggunakan salah satu dasar pelaksanaan berikut.

menggabungkan komen dalam perkataan
  • Allsigned:  Ini hanya membolehkan skrip yang ditandatangani
  • Remotesigned:  Ini hanya membolehkan skrip tempatan dan jauh ditandatangani.
  • Tanpa had:  Ini membolehkan semua skrip.

Akhirnya, klik pada  Sapukan> OK.

Sekarang, kami akan menggunakan  Editor Pendaftaran.  Tetapi sebelum membuat sebarang perubahan, buat a sandaran pendaftaran . Kemudian, navigasi ke lokasi berikut.

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows

Sekarang, klik kanan di Tingkap  folder, dan pilih  Baru> kunci.  Namakan ini  'PowerShell'.  Anda kemudian mesti klik kanan di ruang kosong dan pilih  Nilai baru> dword (32-bit),  dan namakannya  'Membolehkan'.  Klik dua kali pada EnableScripts  dan tetapkan data nilai kepada 1.

Sekali lagi, klik kanan di ruang, pilih Baru> Nilai String,  dan namakannya  ' ExecutionPolicy

Sekarang, klik dua kali pada ExecutionPolicy dan tetapkan data nilai ke Tidak terhad.  Anda juga boleh menetapkannya  Allsigned, Remotesigned,  dan  Tidak terhad. 

Mudah -mudahan, dengan bantuan jawatan ini, anda akan dapat menyelesaikan masalah ini.

Baca:  Cara Menggunakan Windows PowerShell Ise - Tutorial Pemula

Bagaimana saya menjalankan skrip shell di windows 11?

Untuk menjalankan skrip shell (seperti bash) di Windows 11, pasang subsistem Windows untuk Linux (WSL) dari kedai Microsoft, buka terminal Linux (mis., Ubuntu), navigasi ke folder skrip anda menggunakan CD, dan taipkan Bash ScriptName.sh. Untuk skrip PowerShell, melancarkan PowerShell sebagai pentadbir, gunakan Set-ExecutionPolicy RemoteSigned (sementara atau kekal) untuk membenarkan skrip, kemudian jalankannya dengan. \ ScriptName.ps1.

Baca juga:  Fail Tukar Skrip PowerShell (PS1) ke Exe dengan IExpress di Windows .

Jawatan Popular