Cách cho phép thực thi tập lệnh PowerShell trên Windows 7
Khi bạn tải xuống một tập lệnh từ internet và cố gắng chạy nó, nếu bạn chưa cấu hình PowerShell trước đó, nó sẽ xuất hiện một lỗi khó chịu trong phông chữ màu đỏ. Điều này là đủ để sợ hầu hết người dùng, nhưng có một cách khắc phục dễ dàng.
PowerShell có một số chế độ thực thi xác định loại mã nào được phép chạy, điều này được điều chỉnh bởi khóa đăng ký sống trong tổ ong HKLM. Có 4 chế độ thực thi khác nhau, đó là:
- Hạn chế: Chính sách thực thi mặc định, không chạy tập lệnh, chỉ các lệnh tương tác.
- Tất cả đã ký: Chạy các kịch bản; tất cả các tập lệnh và tập tin cấu hình phải được ký bởi nhà xuất bản mà bạn tin tưởng; mở ra cho bạn nguy cơ chạy các tập lệnh đã ký (nhưng độc hại), sau khi xác nhận rằng bạn tin tưởng nhà xuất bản.
- Đã ký từ xa: Kịch bản cục bộ chạy mà không có chữ ký. Bất kỳ tập lệnh tải xuống nào cũng cần chữ ký điện tử, thậm chí là đường dẫn UNC.
- Không giới hạn: Chạy các kịch bản; tất cả các tập lệnh và tệp cấu hình được tải xuống từ các ứng dụng giao tiếp như Microsoft Outlook, Internet Explorer, Outlook Express và Windows Messenger chạy sau khi xác nhận rằng bạn hiểu tệp có nguồn gốc từ Internet; không cần chữ ký số; mở ra cho bạn nguy cơ chạy các tập lệnh độc hại, không dấu được tải xuống từ các ứng dụng này
Chính sách thực thi mặc định của PowerShell được gọi là Hạn chế. Trong chế độ này, PowerShell chỉ hoạt động như một vỏ tương tác. Nó không chạy tập lệnh và chỉ tải các tệp cấu hình được ký bởi nhà xuất bản mà bạn tin tưởng. Nếu bạn đang gặp phải lỗi đỏ khó chịu, nguyên nhân có thể xảy ra nhất là bạn đang cố chạy một tập lệnh không dấu. Điều an toàn nhất để làm là thay đổi Chính sách thực thi thành không hạn chế, chạy tập lệnh của bạn và sau đó thay đổi nó trở lại hạn chế.
Để thay đổi nó thành không hạn chế, hãy chạy lệnh sau từ PowerShell quản trị:
Set-ExecutPolicy không bị giới hạn
Bạn sẽ được hỏi nếu bạn chắc chắn rằng bạn muốn thay đổi Chính sách thực thi, nhấn nút enter lần nữa.
Bây giờ bạn có thể chạy các tập lệnh tải xuống của bạn mà không có vấn đề. Tuy nhiên, đó là một rủi ro bảo mật nghiêm trọng nếu bạn quên đặt Chính sách thực thi trở lại chế độ Hạn chế. Bạn có thể đoán làm thế nào để đặt nó trở lại Hạn chế, nhưng trong trường hợp bạn không:
Set-ExecutPolicy bị hạn chế
Một lần nữa bạn sẽ được hỏi nếu bạn chắc chắn rằng bạn muốn thay đổi chế độ thực thi, hãy tiếp tục và nhấn enter.