Điều gì sẽ xảy ra nếu bạn có thể mang năng suất của Linux sang Windows? Một trong những điểm khác biệt chính giữa Windows và Linux là hầu hết các bản phân phối Linux đều được đóng gói với Bash shell mạnh mẽ; để so sánh, dấu nhắc lệnh trong Windows là không có cơ sở. Điều gì sẽ xảy ra nếu Windows có một thiết bị đầu cuối mạnh mẽ tương đương?
Với PowerShell, ước mơ đó có thể trở thành hiện thực.
Tuyên bố từ chối trách nhiệm:PowerShell không phải là "Bash dành cho Windows" và cũng không phải vậy. Đúng, cả hai đều là môi trường dòng lệnh có thể cải thiện đáng kể năng suất của bạn, nhưng đó là nơi kết thúc những điểm tương đồng. Bạn nên xem PowerShell như một cách tiếp cận riêng để tạo môi trường dòng lệnh mạnh mẽ.
PowerShell là gì?
PowerShell có thể được coi là một bản nâng cấp lớn cho dấu nhắc lệnh của Windows. Nó có thể thực hiện nhiều tác vụ giống nhau (ví dụ:điều hướng hệ thống, tương tác với tệp, sửa đổi thuộc tính), nhưng mở ra toàn bộ khuôn khổ .NET để có sức mạnh tối đa. Để hiểu những lợi ích của việc này, hãy tiếp tục đọc.
Có hai lợi ích cốt lõi giúp PowerShell tốt hơn so với dấu nhắc lệnh truyền thống: khả năng mở rộng và khả năng viết thư .
Mặc dù PowerShell đi kèm với một bộ lệnh ban đầu, nhưng bạn có thể thêm các lệnh của riêng mình bằng cách tạo cmdlet . Cmdlets là các lớp được tạo bằng ngôn ngữ C # và khi chúng được gọi, chúng được thực thi trong môi trường PowerShell. Bởi vì chúng được viết bằng C #, các lệnh ghép ngắn có quyền truy cập vào toàn bộ khuôn khổ .NET.
Khuôn khổ .NET chứa một thư viện mã khổng lồ do Microsoft cung cấp. Khi viết lệnh ghép ngắn của riêng bạn, bạn có quyền truy cập vào tất cả mã đó. Thông tin quy trình kéo? Các thuật toán mật mã? Kết nối cơ sở dữ liệu? Truyền thông mạng? Tất cả những điều đó - và hơn thế nữa - được cung cấp bởi .NET framework, có nghĩa là hầu hết công việc được thực hiện cho bạn. Bạn chỉ cần ghép nó lại với nhau bằng cách gọi các chức năng phù hợp.
Microsoft đã nói rõ rằng PowerShell sẽ không biến mất - trên thực tế, trình quản lý gói sắp ra mắt trong Windows 10 sẽ dựa trên PowerShell - vì vậy mọi người nên cân nhắc tìm hiểu nó sớm hơn là muộn.
Tại sao PowerShell lại tuyệt vời
PowerShell có rất nhiều tính năng nâng cao, hầu hết trong số đó có thể chỉ phù hợp với lập trình viên Windows và quản trị viên máy chủ, nhưng có một số tính năng cơ bản dễ hiểu nhưng cực kỳ hữu ích cho mọi người.
Đơn giản nhưng mạnh mẽ. Môi trường PowerShell đủ dễ dàng để bất kỳ ai cũng có thể lấy nó trong vòng vài giờ sau khi đọc. Có có một đường cong học tập, nhưng nó tương đối nông và bạn không cần phải học tất cả của nó để tận dụng nó.
Thông tin quy trình chi tiết. Sử dụng trình quản lý tác vụ thay thế là một điều, nhưng PowerShell cho phép bạn thực hiện một số thủ thuật gọn gàng liên quan đến quản lý quy trình. Bắt đầu với lệnh ghép ngắn Get-Process và Stop-Process gốc.
Tự động hóa và viết tập lệnh dễ dàng. Windows cơ bản không cung cấp một cách dễ dàng để tự động hóa các tác vụ. Trước PowerShell, các tệp hàng loạt chỉ có thể thực hiện tập lệnh nguyên thủy trong khi các giải pháp của bên thứ ba là cần thiết để tự động hóa (ví dụ:Perl, AutoHotkey). Nhưng với PowerShell, bạn có thể lên lịch các tác vụ để chạy vào một thời điểm hoặc khoảng thời gian nhất định.
Ví dụ:với mô-đun SchedisedTasks, bạn có thể khiến một chương trình hoặc quy trình cụ thể thực thi theo một trình kích hoạt (ví dụ:tại một thời điểm cụ thể, khi sự kiện hệ thống xảy ra, v.v.) và bạn có thể xác định ngữ cảnh cho tác vụ đó (ví dụ:bảo mật hạn chế).
Đường ống lệnh và logic. Trong Bash (Linux), các lệnh có thể được ghép nối với nhau để đầu ra của một lệnh có thể được sử dụng làm đầu vào cho lệnh khác. Ví dụ:lệnh ghép ngắn Get-Process cơ bản xuất ra thông tin cho tất cả quá trình đang chạy. Điều gì sẽ xảy ra nếu bạn chỉ muốn thông tin từ một tập hợp con các quy trình? Bạn có thể nối nó với lệnh ghép ngắn Where-Object, hoạt động như một bộ lọc quy trình, để chỉ thực thi Get-Process trên các quy trình được trả về bởi Where-Object.
PowerShell cũng cung cấp một số lệnh gốc cho logic có điều kiện (ví dụ:If, Else, For, Switch) có thể được sử dụng để kiểm soát luồng thực thi lệnh ghép ngắn. Ví dụ:bạn có thể tạo một tập lệnh PowerShell chỉ thực thi một số lệnh ghép ngắn nhất định khi một số điều kiện nhất định được đáp ứng (ví dụ:dọn dẹp các quy trình khi RAM gần đầy).
Công việc từ xa và trong nền. Không chỉ các lệnh ghép ngắn có thể được thực thi dưới dạng các quy trình nền (vì vậy bạn có thể chạy nhiều tác vụ cùng một lúc một cách không đồng bộ), mà nhiều lệnh ghép ngắn cũng có thể được thực thi trên các máy từ xa trên mạng miễn là chúng đã được định cấu hình để làm như vậy. Các lệnh ghép ngắn có khả năng từ xa thường sẽ cung cấp tham số Tên máy tính mà bạn có thể chỉ ra khi thực thi lệnh ghép ngắn nói trên.
Để biết thêm thông tin, hãy xem trang TechNet này về cách chạy các lệnh từ xa với PowerShell.
Tải xuống tập lệnh của bên thứ ba. Bạn không thực sự phải tự mở rộng PowerShell. Một số kho lưu trữ trực tuyến cho phép bạn tải xuống và sử dụng các tập lệnh và lệnh ghép ngắn công khai mà những người khác đã tạo.
Tìm hiểu PowerShell ở đâu
Bạn đã sẵn sàng để làm bẩn tay với PowerShell? Dưới đây là một số tài nguyên thường được giới thiệu cho những người mới muốn học càng sớm càng tốt:
Hướng dẫn PowerShell của Don Jones. Loạt video YouTube này tập trung vào PowerShell 2.0 (phiên bản đi kèm với Windows 7), hiện đã lỗi thời một chút, nhưng cung cấp một phần giới thiệu tốt cho những người hoàn toàn không có kinh nghiệm về kịch bản. Mỗi video chỉ dài vài phút nhưng có tới 99 video, vì vậy nó khá toàn diện.
Học viện ảo Microsoft. MVA cung cấp rất nhiều khóa học liên quan đến Microsoft miễn phí, bao gồm cả hai khóa học về PowerShell 3.0. Có khóa học Bắt đầu và khóa học Công cụ &Viết kịch bản nâng cao. Cả hai khóa học đều có 9 bài học, mỗi bài dài khoảng 1 giờ.
Trung tâm tập lệnh TechNet. Phần TechNet trên trang web của Microsoft bao gồm rất nhiều liên kết tuyệt vời đến các hướng dẫn và hướng dẫn PowerShell. Như một phần thưởng, nếu bạn điều hướng đến phần Kho lưu trữ, bạn có thể duyệt và tải xuống các tập lệnh PowerShell khác nhau.
Này, anh chàng viết kịch bản! Blog [Đã xóa URL bị hỏng]. Đây là một blog "tất cả về PowerShell" với RẤT NHIỀU thông tin tuyệt vời đã có từ gần một thập kỷ trước. Các bài đăng mới được xuất bản mỗi ngày và chúng được phân loại theo các thẻ để dễ dàng duyệt qua. Nếu bạn không biết bắt đầu từ đâu, hãy bắt đầu bằng cách duyệt qua thẻ Bắt đầu [Đã xóa URL bị hỏng].
PowerShell có dành cho bạn không?
Bạn nghĩ sao? PowerShell có giúp ích cho năng suất của bạn trên Windows không? Hay là quá mức cần thiết cho nhu cầu của bạn? Chia sẻ suy nghĩ của bạn với chúng tôi trong phần bình luận!