Hướng dẫn cách thay đổi chính sách thực thi để chạy tập lệnh trên PowerShell

Trên Windows 11 (hoặc 10), theo mặc định, khi bạn cố gắng chạy một script trên PowerShell, nó sẽ thất bại với thông báo lỗi “cannot be loaded because running scripts is disabled on this system” (không thể tải vì việc chạy script đã bị vô hiệu hóa trên hệ thống này). Điều này là do PowerShell có một tính năng bảo mật gọi là “chính sách thực thi” (execution policy) kiểm soát cách tải các tệp cấu hình và chạy script để ngăn chặn mã độc chạy trên hệ thống.
Nếu bạn buộc phải chạy một script trên Windows 11 (hoặc 10), bạn có thể thay đổi chính sách thực thi cho máy tính cục bộ, người dùng hiện tại hoặc phiên làm việc. Khi bạn đặt chính sách thực thi PowerShell cho máy tính cục bộ và người dùng hiện tại, thông tin được lưu trữ trong Registry. Nếu bạn cấu hình chính sách cho một phiên làm việc cụ thể, nó được giữ trong bộ nhớ và sau đó sẽ bị mất khi bạn đóng phiên làm việc đó.
Theo Microsoft, chính sách thực thi không giới hạn các hành động. Bạn có thể bỏ qua chính sách bằng cách gõ script vào giao diện dòng lệnh (CLI). Chính sách này được thiết kế để giúp người dùng ngăn chặn việc chạy các script độc hại. Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách thay đổi chính sách thực thi để chạy script thành công trên PowerShell trên Windows 11 hoặc 10.
Xem thêm: Hướng dẫn cách tạo bộ cài đặt Windows 11 24H2 USB có thể khởi động
1. Thay đổi chính sách thực thi trên Windows 11 từ PowerShell
Để thay đổi chính sách thực thi (execution policy) của PowerShell trên Windows 11 (hoặc 10), hãy sử dụng các bước sau:
1. Mở Start trên Windows 11.
2. Tìm kiếm PowerShell, nhấp chuột phải vào kết quả hàng đầu và chọn tùy chọn Run as administrator (Chạy với quyền quản trị viên).
3. Nhập lệnh sau để xác nhận chính sách thực thi hiện tại và nhấn Enter:
Get-ExecutionPolicy4. (Tùy chọn) Nhập lệnh sau để xem các chính sách thực thi PowerShell có hiệu lực và nhấn Enter:
Get-ExecutionPolicy -List5. Nhập lệnh sau để thay đổi chính sách thực thi PowerShell cho phép chạy script trên Windows 11 và nhấn Enter:
Set-ExecutionPolicy RemoteSigned6. (Tùy chọn) Nhập lệnh sau để thay đổi chính sách thực thi nhằm ngăn chặn việc chạy script và nhấn Enter:
Set-ExecutionPolicy Restricted
Sau khi bạn hoàn thành các bước, bạn có thể thực thi lại script và script đó sẽ chạy thành công trên Windows 11. Nếu bạn không còn muốn cho phép script chạy trên máy tính của mình nữa, bạn có thể chạy lệnh tùy chọn được đề cập trong các bước.
Nếu bạn muốn thay đổi chính sách thực thi để chạy script cho người dùng hiện tại (current user) hoặc máy tính cục bộ (local computer), bạn cần sử dụng tùy chọn “Scope” như sau:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserSet-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachineTrên Windows 11, bạn có thể chọn từ bốn chính sách thực thi khác nhau để cho phép hoặc từ chối script:
Restricted — chặn mọi tệp script chạy.
RemoteSigned — cho phép script được tạo trên máy tính. Tuy nhiên, các script được tạo trên thiết bị khác sẽ không chạy nếu không có chữ ký đáng tin cậy.
AllSigned — cho phép tất cả các script chạy. Tuy nhiên, chỉ khi một nhà phát hành đáng tin cậy đã đưa vào chữ ký.
Unrestricted — chạy bất kỳ script nào mà không có giới hạn.
Bạn không cần phải thay đổi chính sách thực thi nếu bạn cần chạy một script không có các tham số yêu cầu và không trả về đầu ra. Thay vào đó, bạn có thể sử dụng lệnh PowerShell.exe -File "FILENAME" -ExecutionPolicy Bypass để bỏ qua các hạn chế.
2. Thay đổi chính sách thực thi trên Windows 11 từ Cài đặt (Settings)
Trên Windows 11 và 10, bạn cũng có thể cho phép script chạy trên PowerShell bằng cách thay đổi cấu hình của giao diện dòng lệnh từ ứng dụng Cài đặt (Settings).
2.1. Từ Windows 11
Để thay đổi chính sách thực thi PowerShell từ ứng dụng Cài đặt (Settings), hãy sử dụng các bước sau:
1. Mở Settings (Cài đặt).
2. Nhấp vào System (Hệ thống).
3. Nhấp vào trang For developers (Dành cho nhà phát triển).
4. Nhấp vào mục cài đặt PowerShell.
5. Bật nút chuyển đổi “Change execution policy to allow local PowerShell scripts […]” (Thay đổi chính sách thực thi để cho phép các script PowerShell cục bộ […]).

Nếu bạn không còn cần tính năng này nữa, bạn có thể chặn script bằng cách sử dụng các bước tương tự, nhưng ở bước 5, hãy tắt nút chuyển đổi “Change execution policy to allow local PowerShell scripts […]”.
2.2. Từ Windows 10
Để thay đổi chính sách thực thi PowerShell từ ứng dụng Cài đặt (Settings), hãy sử dụng các bước sau:
1. Mở Settings (Cài đặt).
2. Nhấp vào Update & Security (Cập nhật & Bảo mật).
3. Nhấp vào trang For developers (Dành cho nhà phát triển).
4. Chọn tùy chọn “Change execution policy to allow local PowerShell scripts […]” cho mục cài đặt PowerShell.

5. Nhấp vào nút Apply (Áp dụng).
Nếu bạn không còn cần tính năng này nữa, bạn có thể chặn script bằng cách sử dụng các bước tương tự, nhưng ở bước 4, bỏ chọn tùy chọn “Change execution policy to allow local PowerShell scripts […]” và áp dụng thay đổi.
Sau khi bạn hoàn thành các bước, cài đặt sẽ đặt chính sách thực thi cho PowerShell là “RemoteSigned”. Chính sách này sẽ cho phép bạn chạy script mà không cần ký, nhưng sẽ yêu cầu ký đối với các script từ xa.
3. Thay đổi chính sách thực thi để cho phép script không có chữ ký số
Nếu bạn có một script PowerShell được tạo trên máy tính khác hoặc tải xuống từ internet, khi bạn cố gắng chạy script đó, bạn có thể gặp thông báo lỗi “File […].ps1 cannot be loaded. The file […].ps1 is not digitally signed. You cannot run this script on the current system” (Tệp […].ps1 không thể được tải. Tệp […].ps1 không được ký số. Bạn không thể chạy script này trên hệ thống hiện tại) hoặc “The script will not execute on the system” (Script sẽ không thực thi trên hệ thống).
Tuy nhiên, miễn là bạn biết script đó an toàn để sử dụng và bạn lấy nó từ một nguồn đáng tin cậy, bạn có thể thay đổi chính sách phạm vi “Process” để chạy nó thành công.

Để thay đổi chính sách thực thi PowerShell nhằm chạy một script “.ps1” không có chữ ký số, hãy sử dụng các bước sau:
1. Mở Start.
2. Tìm kiếm PowerShell, nhấp chuột phải vào kết quả hàng đầu và chọn tùy chọn Run as administrator (Chạy với quyền quản trị viên).
3. Nhập lệnh sau để thay đổi cho phép script PowerShell với chữ ký số và nhấn Enter:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
Sau khi bạn hoàn thành các bước, bạn có thể chạy tệp script bằng lệnh .\Your-PowerShell-Script.ps1 trong phiên hiện tại. Sau khi đóng phiên PowerShell, chính sách thực thi sẽ trở về trạng thái ban đầu để ngăn các script khác chạy.
Nếu bạn cần chạy một tệp script khác, bạn có thể lặp lại các bước đã nêu ở trên.
4. Kết luận
Việc nắm vững cách thay đổi chính sách thực thi trong PowerShell không chỉ giúp bạn chạy được các tập lệnh cần thiết mà còn nâng cao khả năng quản trị hệ thống Windows một cách chủ động và an toàn hơn. Khi hiểu rõ từng mức Execution Policy và biết cách lựa chọn thiết lập phù hợp, bạn sẽ tránh được các rủi ro bảo mật đồng thời tối ưu hóa quy trình làm việc của mình.
Xem thêm: Hướng dẫn 4 thủ thuật Paste Special giúp bạn tiết kiệm thời gian trong Microsoft Excel
Nếu bạn thường xuyên làm việc với PowerShell, việc áp dụng đúng chính sách sẽ mang lại sự linh hoạt, giúp bạn triển khai script tự động, cấu hình hệ thống và xử lý tác vụ nhanh chóng hơn rất nhiều. COHOTECH luôn đồng hành cùng bạn với những bài hướng dẫn công nghệ hữu ích, thiết bị chất lượng và giải pháp tối ưu cho nhu cầu làm việc – học tập. Hãy để lại bình luận nếu bạn còn thắc mắc và đừng quên chia sẻ bài viết để nhiều người cùng biết đến kiến thức quan trọng này!











