Đầu tiên, phương pháp chính xác để kiểm tra phiên bản PowerShell của bạn là kiểm tra biến $PSVersionTable.PSVersion
và không sử dụng $ Host hoặc Get-Host.
Thứ hai, bạn nên thực hiện một số nghiên cứu về phiên bản PowerShell nào bạn nên cài đặt trên máy chủ của mình thay vì chỉ cập nhật lên phiên bản mới nhất có sẵn. Một bài viết tuyệt vời của The Scripting Guy Tôi có nên nâng cấp lên phiên bản Windows PowerShell mới nhất không? có thể giúp bạn đưa ra quyết định này. Ví dụ: bài đăng chỉ ra rằng việc nâng cấp PowerShell có thể phá vỡ các ứng dụng quan trọng:
Việc nâng cấp Windows PowerShell có phá vỡ bất kỳ ứng dụng nào của tôi không? Thật không may, câu trả lời là nó có thể. Ghi chú phát hành cho Windows PowerShell 4.0 cung cấp danh sách các ứng dụng sau mà Windows PowerShell 4.0 không tương thích:
- Trình quản lý cấu hình System Center 2012 (không bao gồm SP1)
- Trình quản lý máy ảo trung tâm hệ thống 2008 R2 (bao gồm SP1)
- Microsoft Exchange Server 2013, Microsoft Exchange Server 2010 và Microsoft Exchange Server 2007
- Microsoft SharePoint 2013 và Microsoft SharePoint 2010
- Tiêu chuẩn máy chủ doanh nghiệp nhỏ Windows 2011
Nếu máy của bạn đang chạy bất kỳ sản phẩm nào trong số này, không cài đặt Windows PowerShell 4.0. Windows PowerShell 3.0 có một danh sách rất giống nhau. Một số ứng dụng này (như Exchange Server 2013) được làm tương thích với gói dịch vụ. Bạn sẽ cần xác định xem một gói dịch vụ hoặc một bản sửa lỗi khác có sẵn cho ứng dụng và tình huống cụ thể của bạn hay không.
Hơn nữa, các phiên bản mới của PowerShell và cũng có thể phá vỡ các tập lệnh hiện có của bạn.