in ,

Sửa lỗi: “Execution of scripts is disabled on this system” trong PowerShell

Khi bạn cố gắng chạy một script PowerShell trên hệ thống và gặp thông báo lỗi: “Execution of scripts is disabled on this system,” điều này thường liên quan đến chính sách thực thi (Execution Policy) của PowerShell. Dưới đây là một số phương pháp để khắc phục lỗi này.

1. Hiểu về PowerShell Execution Policy

PowerShell có các mức chính sách thực thi để bảo vệ hệ thống khỏi việc chạy các script không đáng tin cậy. Các mức chính sách phổ biến bao gồm:

  • Restricted: Chặn hoàn toàn việc chạy script.
  • AllSigned: Yêu cầu tất cả các script phải được ký số bởi nhà phát triển đáng tin cậy.
  • RemoteSigned: Cho phép chạy các script cục bộ không cần ký, nhưng các script tải từ Internet phải được ký.
  • Unrestricted: Không yêu cầu chữ ký và có thể chạy bất kỳ script nào, nhưng sẽ có cảnh báo khi chạy script từ Internet.

2. Cách kiểm tra chính sách thực thi hiện tại

Sử dụng lệnh sau để kiểm tra chính sách thực thi hiện tại của bạn:

Get-ExecutionPolicy

3. Thiết lập lại chính sách thực thi

Nếu bạn cần thay đổi chính sách thực thi để có thể chạy các script, hãy chạy PowerShell với quyền Administrator và sử dụng một trong các lệnh sau:

  • Đặt chính sách thành RemoteSigned (mức bảo mật hợp lý):
    Set-ExecutionPolicy RemoteSigned
  • Đặt chính sách thành Unrestricted (cho phép chạy mọi script):
    Set-ExecutionPolicy Unrestricted
  • Nếu bạn không có quyền quản trị, bạn có thể chỉ định chính sách cho người dùng hiện tại:
    Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

4. Bỏ qua chính sách thực thi cho một script cụ thể

Nếu bạn không muốn thay đổi chính sách toàn hệ thống, bạn có thể bỏ qua chính sách thực thi chỉ cho một script bằng cách sử dụng lệnh sau:

-ExecutionPolicy Bypass -File script.ps1

Lệnh này sẽ bỏ qua chính sách thực thi hiện tại chỉ cho lần chạy này.

5. Sử dụng Group Policy Editor (gpedit.msc)

Nếu bạn không thể thay đổi chính sách bằng các lệnh PowerShell, hãy sử dụng Group Policy Editor để cho phép chạy script:

  1. Nhấn Windows + R, nhập gpedit.msc và nhấn Enter.
  2. Điều hướng đến: Local Computer Policy -> Computer Configuration -> Administrative Templates -> Windows Components -> Windows PowerShell.
  3. Kích hoạt Turn on Script Execution và chọn Allow all scripts.

Lưu ý: Khi bạn dùng các chính sách như Unrestricted có thể làm giảm bảo mật hệ thống, đặc biệt là khi chạy các script từ nguồn không đáng tin cậy. Bạn nên sử dụng mức RemoteSigned khi có thể, và luôn kiểm tra nguồn gốc của các script trước khi chạy.

Written by Linh Nguyễn

Leave a Reply

Exit mobile version