Có đáng để nâng cấp lên PowerShell 7 không?

Windows PowerShell là một phần không thể thiếu của hệ điều hành Windows. Nó là một trình bao dòng lệnh và một ngôn ngữ kịch bản được sử dụng để tự động hóa các tác vụ lặp đi lặp lại tốn thời gian, tạo các công cụ quản lý tùy chỉnh và xây dựng, kiểm tra và triển khai các giải pháp cho nhiều vấn đề khác.


Phiên bản PowerShell mặc định được đóng gói sẵn bên trong hệ điều hành Windows là PowerShell 5.1 hoặc đơn giản là Windows PowerShell. Nhưng với PowerShell 7 đã được phát hành và ổn định, hệ điều hành Windows sử dụng phiên bản PowerShell mới nhất có hợp lý hơn không? PowerShell 7 cung cấp những lợi ích gì? Và nó có đáng để nâng cấp không? Hãy nói về chuyện đó!


PowerShell 7 là gì?

PowerShell 7 là phiên bản phát hành LTS mới nhất của PowerShell. Phiên bản PowerShell này được phát triển thông qua khuôn khổ .NET Core mới hơn, cho phép một số bản cập nhật lớn mà người dùng thành thạo Windows sẽ thấy hữu ích.

PowerShell 7 đã được đăng ký và cấp phép theo Giấy phép MIT. Bây giờ nó là phần mềm mã nguồn mở, nơi mọi người có thể tự do xem, sửa đổi và phân phối bản sao mã nguồn của phần mềm của riêng họ. Các nhà phát triển cũng có thể đóng góp vào các bản phát hành PowerShell chính thức bằng cách tham gia trang GitHub chính thức của PowerShell.

Với sự hỗ trợ của cộng đồng, phiên bản PowerShell này hiện là nền tảng đa nền tảng! Có nghĩa là bây giờ nó có thể được cài đặt và sử dụng trên Windows, macOS và Linux. Đây là danh sách hệ điều hành x64 được hỗ trợ:

  • Windows 8.1, 10, 11
  • Windows Server 2012, 2012 R2, 2016 và 2019
  • macOS 10.13+
  • Red Hat Enterprise Linux (RHEL) / CentOS 7
  • Fedora 30+
  • Debian 9
  • Ubuntu LTS 16.04+

Alpine Linux 3.8+ PowerShell 7 cũng được hỗ trợ trên nhiều bản phân phối ARM32 và ARM64 của Debian, Ubuntu và ARM64 Alpine Linux. Đối với những người quan tâm, cũng có các gói không được hỗ trợ cho Arch và Kali Linux.

Các tính năng mới được bao gồm trong PowerShell 7 là gì?

Ngoài tính năng đa nền tảng và có nguồn mở, PowerShell 7 còn có nhiều tính năng mới khác giúp cải thiện năng suất hơn nữa. Dưới đây là một vài trong số những cái đáng chú ý hơn:

1. Cải thiện khả năng tương thích ngược

Với sự khác biệt về khuôn khổ, các phiên bản Windows PowerShell và PowerShell sử dụng khuôn khổ .NET Core sẽ có sự không tương thích. Để giúp mọi người chuyển đổi dễ dàng hơn, PowerShell 7 hiện tích hợp mô-đun WindowsCompatibility. Mô-đun này được thiết kế để cho phép các mô-đun Windows PowerShell và nhiều lệnh CMD phổ biến hoạt động trong PowerShell 7.

2. Song song đường ống với ForEach-Object

PowerShell 7 hiện có tham số Parallel. Trong Windows PowerShell, từng đối tượng được định hình bằng lệnh ghép ngắn ForEach-Object sẽ được thực thi từng đối tượng một. Nhưng với tham số Parallel mới, tất cả các đối tượng đường ống giờ đây được thực thi đồng thời. Điều này cải thiện đáng kể hiệu suất có thể giúp bạn tiết kiệm thời gian.

3. Nhà khai thác bậc ba

Các điều kiện Windows PowerShell được thực hiện thông qua các câu lệnh if-else. PowerShell 7 làm cho điều này thậm chí còn đơn giản hơn bằng cách giới thiệu các toán tử bậc ba, về cơ bản là các phiên bản đơn giản hóa của câu lệnh if-else bằng cách sử dụng “?” và “:” trong cú pháp. Tính năng này cho phép trải nghiệm tập lệnh nhanh hơn và rõ ràng hơn.

4. Người điều hành chuỗi đường ống

Các toán tử đường ống là một tính năng quan trọng của Windows PowerShell. Nó cho phép bạn thực hiện các biểu thức phức tạp bằng cách lấy đầu ra của một lệnh ghép ngắn và sử dụng nó trên một lệnh ghép ngắn khác. Tuy nhiên, điều này bị hạn chế vì Windows PowerShell không thể xử lý các biểu thức có điều kiện bằng cách sử dụng các toán tử đường ống thông thường.

PowerShell 7 khắc phục sự cố này bằng cách giới thiệu các nhà khai thác chuỗi đường ống, đó là “&&” và “||”. Toán tử đường ống mới này cho phép PowerShell thực thi các lệnh với các biểu thức điều kiện.

Toán tử && được sử dụng để thực hiện lệnh đường ống bên phải chỉ khi lệnh trước khi toán tử thành công. Toán tử While || sẽ chỉ thực hiện lệnh đường ống bên phải nếu lệnh trước người vận hành không thành công.

Tại sao PowerShell 7 không phải là Mặc định trên Windows?

PowerShell 7 là một phần mềm đa nền tảng có nguồn mở cung cấp các tính năng có thể cải thiện đáng kể hiệu suất và tốc độ viết tập lệnh. Vậy tại sao Microsoft không đặt nó làm PowerShell mặc định trong Windows?

PowerShell hiện tại được cài đặt sẵn với các hệ thống Windows mới hơn là PowerShell 5.1. Đây là phiên bản PowerShell cuối cùng sử dụng .NET framework. Mặc dù đúng là các phiên bản tiếp theo của nó cung cấp các tính năng tốt hơn, Windows PowerShell vẫn có một ưu điểm mà PowerShell mới hơn không có — khả năng tương thích ngược hoàn toàn.

PowerShell đầu tiên được phát hành vào ngày 14 tháng 11 năm 2006. Đây là thời điểm Windows Vista và XP vẫn là hệ điều hành Windows mới nhất. Theo nghiên cứu từ enlyft, chỉ riêng Hoa Kỳ đã có hơn 46.000 công ty vẫn đang sử dụng Windows XP. Các công ty này chỉ đơn giản là không thể nâng cấp lên PowerShell mới nhất vì nó sẽ gây ra rất nhiều vấn đề không tương thích ngược ngay cả với mô-đun WindowsCompatibility tích hợp của PowerShell 7.

Đối với các công ty lớn và các cơ sở hạ tầng quan trọng khác nhau (máy ATM, nhà cung cấp năng lượng, đường sắt, bệnh viện, v.v.), việc trì hoãn dịch vụ hàng tuần đến hàng tháng chỉ để xây dựng lại, thử nghiệm và triển khai các tập lệnh đã hoạt động với PowerShell 5.1 đơn giản không phải là một lựa chọn. Đừng bận tâm đến tất cả các lỗi có thể xuất hiện trong giờ hoạt động thực tế.

Vì PowerShell 5.1 là PowerShell mới nhất được xây dựng trên khung.NET nên nó được đảm bảo hoạt động với tất cả các phiên bản trước của PowerShell, ngay cả phiên bản được phát hành vào năm 2006.

Bạn có nên nâng cấp lên PowerShell 7 không?

PowerShell 7 cung cấp nhiều bản cập nhật hữu ích giúp giao tiếp dòng lệnh và tập lệnh dễ dàng hơn, nhanh hơn và thuận tiện hơn với sự hỗ trợ đa nền tảng của nó. Ngược lại, Windows PowerShell cung cấp khả năng tương thích ngược hoàn toàn với tất cả PowerShell kế thừa trước PowerShell 6. Vì vậy, bạn nên tiếp tục sử dụng Windows PowerShell hay nâng cấp lên PowerShell 7 mới hơn?

Điểm tốt về PowerShell 7 là nó được thiết kế để cùng tồn tại với Windows PowerShell 5.1. Ngoài mô-đun WindowsCompatibility tích hợp, PowerShell 7 còn cung cấp một đường dẫn cài đặt riêng, tên thực thi, PSModulePath và nhật ký sự kiện để đảm bảo nó không ảnh hưởng đến Windows PowerShell đã được cài đặt.

Vì vậy, đối với phần lớn những người muốn thử các tính năng mới của PowerShell 7, họ chắc chắn có thể làm như vậy trong khi vẫn giữ Windows PowerShell mặc định của họ. Nếu bạn tò mò không biết PowerShell mới hơn có dành cho mình hay không, thì bạn chắc chắn nên thử PowerShell mới hơn.

Mặc dù PowerShell 7 cung cấp khả năng tương thích ngược tốt, nhưng sẽ luôn có một số khác biệt do sự khác biệt của chúng trong khuôn khổ. Nếu bạn làm việc tại một công ty hoặc tổ chức phụ thuộc nhiều vào các công cụ và chương trình tùy chỉnh được tạo từ Windows PowerShell, thì việc di chuyển hệ thống của công ty sang PowerShell 7 có thể không phải là một ý tưởng hay.

PowerShell 7 cung cấp rất nhiều bản cập nhật nhưng cũng loại bỏ khá nhiều mô-đun và lệnh ghép ngắn kế thừa. Nếu bạn là người đã hài lòng với PowerShell mặc định, thì thực sự không có lý do gì để di chuyển, đặc biệt nếu bạn không có thời gian để đọc tài liệu.

PowerShell 7 giúp cho việc viết kịch bản nhanh hơn

PowerShell 7 là một trong những phiên bản ổn định mới nhất của PowerShell với Hỗ trợ dài hạn (LTS). Nó cung cấp một cách nhanh hơn và dễ dàng hơn để sử dụng PowerShell, ngay cả khi sử dụng các hệ điều hành khác như macOS hoặc Linux. Mặc dù có thể mất một chút thời gian để đọc tài liệu của nó, nhưng cuối cùng bạn sẽ tiết kiệm được nhiều thời gian hơn khi đã thành thạo với các bản cập nhật mới.

Previous Post
Next Post

post written by: