10 lệnh PowerShell đơn giản mà người dùng Windows nên biết

PowerShell cung cấp cho bạn tất cả các quyền kiểm soát bạn cần trên PC Windows của mình và nó rất dễ học. Vì vậy, bỏ Command Prompt và sử dụng các lệnh Windows PowerShell để tự động hóa các tác vụ quản trị lặp đi lặp lại đó. 

Học PowerShell cũng sẽ dạy bạn cách xử lý hầu hết các tác vụ quản trị Linux bên trong bash shell. PowerShell tương tự như những gì bạn tìm thấy trong hầu hết các Distro  Linux (Distros)

PowerShell là gì?

Windows PowerShell là một giao diện dòng lệnh và ngôn ngữ kịch bản được phát triển bởi Microsoft dành cho quản trị viên hệ thống. Nhưng bạn không cần phải là quản trị viên hoặc lập trình viên để sử dụng nó vì nó đơn giản hơn nhiều so với các ngôn ngữ lập trình khác. Nó tương tự như tiếng Anh(English) thông thường , và mọi người có thể hiểu nó và sử dụng nó để quản trị máy tính của họ.

Các lệnh được sử dụng trong Windows PowerShell được gọi là â € œcmdlets.â € Chúng sẽ cho phép bạn kích hoạt một hành động cụ thể hoặc một loạt các hành động trên máy tính của bạn. Những hành động này có thể đơn giản, như đăng nhập vào mạng không dây hoặc phức tạp hơn, như tự động hóa các tác vụ lặp đi lặp lại cụ thể. 

Để mở PowerShell, hãy nhấn nút Bắt đầu(Start ) , nhập " powershell " vào hộp tìm kiếm và chọn Windows PowerShell . Bạn sẽ mở giao diện dòng lệnh, nơi bạn đã sẵn sàng để bắt đầu nhập lệnh.

Trong bài viết này, chúng tôi sẽ giới thiệu cho các bạn mười lệnh PowerShell hữu ích và dễ dàng nhất .

1. Nhận trợ giúp

Lệnh ghép ngắn Get-Help là một nơi tuyệt vời để bắt đầu trong PowerShell . Nó cung cấp một cái nhìn tổng quan về những gì bạn có thể làm và cũng rất tuyệt khi bạn cần thêm thông tin về một lệnh ghép ngắn cụ thể. 

Chỉ cần(Simply) mở cửa sổ PowerShell và nhập Get-Help . Điều này sẽ mở ra một cái nhìn tổng quan toàn diện giúp bạn biết PowerShell là gì và bạn sẽ hiểu chức năng và cấu trúc của nó. Bạn cũng có thể truy cập web để có các tệp trợ giúp nâng cao hơn trực tiếp thông qua giao diện. Bạn có thể tải xuống các tệp này để sử dụng sau này. 

Nhưng đó không phải là phần cuối của lệnh nhận trợ giúp. Loại:  

Get-Help * 

PowerShell sẽ liệt kê tất cả các lệnh ghép ngắn mà bạn có thể sử dụng tại thời điểm đó. Danh sách có thể sẽ rất lớn và bạn không cần phải học tất cả các lệnh ghép ngắn được hiển thị. Nhưng hãy thoải mái đọc chúng và khám phá tất cả các khả năng có sẵn cho bạn.

Loại hình:

Get-Help <command name>

Bạn không cần dấu ngoặc, chỉ cần nhập tên của lệnh bạn quan tâm và lệnh ghép ngắn này sẽ cung cấp cho bạn thông tin cơ bản về lệnh đó. Để được giải thích chi tiết hơn về một lệnh, hãy nhập:

Get-Help <command name> -Full

Nếu bạn cần một ví dụ về cách sử dụng một loại lệnh nhất định:

Get-Help <command name> -Example

2. Nhận lệnh

Bạn có muốn truy xuất thông tin về một lệnh cụ thể hoặc một tập hợp các lệnh, một cách nhanh chóng không? Lệnh ghép ngắn Get-Command sẽ làm điều đó cho bạn. Có rất nhiều tùy chọn trong Get-Command , nhưng bạn, với tư cách là người dùng cơ bản của PowerShell , không cần hầu hết chúng. Dưới đây là một số lệnh ghép ngắn cơ bản sẽ hữu ích, đặc biệt là khi điều hướng các lệnh có sẵn.

Nếu bạn muốn có một danh sách các lệnh ghép ngắn cụ thể cùng loại:

Get-Command -<CommandType>

Ví dụ: cụm từ phức tạp này sẽ ra lệnh cho máy tính của bạn hiển thị danh sách tất cả các lệnh loại lệnh ghép ngắn có sẵn và sắp xếp chúng theo thứ tự bảng chữ cái của danh từ trong tên của chúng:

Get-Command -Type Cmdlet | Sort-Object -Property Noun| Format-Table -GroupBy Noun

Đây là một ví dụ tuyệt vời về một lệnh phức tạp hơn sẽ khiến PowerShell thực thi một tác vụ phức tạp. Khi bạn hiểu cú pháp, bạn sẽ thấy rằng sử dụng PowerShell thường là cách nhanh nhất và dễ dàng nhất để hoàn thành một số công việc trên máy tính của bạn.

Nếu bạn muốn tìm một lệnh cụ thể theo tên của nó, chỉ cần nhập:

Get-Command -Name <name of command>

Nếu bạn không biết tên chính xác của lệnh mà bạn đang tìm kiếm, nhưng bạn biết một phần của tên, bạn có thể nhập:  

Get-Command -Name <name of command> -UseFuzzyMatching

Lệnh ghép ngắn này sẽ yêu cầu máy tính của bạn tìm các lệnh khớp chặt chẽ với những gì bạn đã nhập vào trường <name>. Bạn cũng có thể sử dụng lệnh ghép ngắn này nếu bạn dễ mắc lỗi chính tả và không muốn lúc nào cũng phải sửa mình.

3. Nhận nội dung

Nếu bạn muốn xem nội dung của một tệp, hãy sử dụng lệnh ghép ngắn Get-Content. Bạn sẽ cần chỉ định vị trí chính xác của tệp nói trên để máy tính của bạn có thể tìm thấy nó.

Trong ví dụ trên, bạn có thể xem nội dung của một tệp văn bản thử nghiệm được thực hiện cho mục đích này. Đây là một lệnh đơn giản, nhưng nếu bạn biết nó làm gì, bạn có thể kết hợp nó với các lệnh khác và thực hiện các tác vụ thực sự mạnh mẽ thông qua Windows PowerShell .

4. Nhận-Xử lý

Lệnh ghép ngắn Get-Process sẽ cung cấp cho bạn thông tin về các tiến trình hiện đang chạy trên máy tính của bạn. Bạn có thể xem mức sử dụng bộ nhớ, chu kỳ CPU , ID quy trình và các thuộc tính khác. 

Nếu bạn thêm tên của quy trình vào lệnh ghép ngắn này, bạn có thể xem thông tin về một quy trình cụ thể. Ví dụ: nếu bạn muốn biết thông tin về quy trình ứng dụng Discord , chỉ cần nhập Get-Process Discord .

Bạn có thể bắt đầu hoặc dừng các quy trình thông qua PowerShell bằng cách thay thế tiền tố â € œGetâ € của cú pháp. Để bắt đầu một quy trình, hãy nhập:

Start-Process <process name or ID>   

Để dừng một quá trình, hãy nhập:

Stop-Process <process name or ID>

5. Nhận dịch vụ

Là quản trị viên hệ thống, bạn có thể thấy lệnh ghép ngắn Get-Service rất hữu ích. Lệnh ghép ngắn đơn giản này sẽ hiển thị tất cả các dịch vụ hiện đang chạy trên hệ thống của bạn và cho phép bạn kiểm soát chúng. Điều này có nghĩa là bạn có thể thấy tất cả các chương trình hiện đang hoạt động để làm cho máy tính của bạn chạy. 

Bây giờ bạn có thể sử dụng tên dịch vụ để kiểm soát nó. Sử dụng các lệnh như Restart-Service <service name> để bỏ dính những cái bị đóng băng, Stop-Service <service name> để dừng chúng hoàn toàn và Start-Service để bắt đầu lại chúng.

6. Get-Item

Nếu bạn cần một mục cụ thể, có thể tìm thấy nó thông qua PowerShell nhanh hơn so với việc sử dụng thanh tìm kiếm được tích hợp vào hệ điều hành của bạn. Nó đặc biệt thuận tiện nếu bạn biết vị trí của tệp bạn cần. Chỉ cần(Simply) sử dụng lệnh theo cách này:

Nhận-Mục C:(Get-Item C:)

Thao tác này sẽ cung cấp cho bạn danh sách các tệp trong ổ cứng â € œC: â €. Bạn thậm chí có thể cụ thể hơn và tìm kiếm trong tất cả các thư mục trong hồ sơ của người dùng hoặc đi sâu hơn vào các thư mục â € œdocumentsâ € hoặc â € œdownloadsâ €. Để làm điều này, hãy nhập:

Get-Tem C:\users\<user name>\*

Nếu bạn cần truy xuất một mục con từ một vùng chứa, chẳng hạn như thư mục hệ thống, bạn có thể sử dụng lệnh ghép ngắn Get-ChildItem . Lệnh này sẽ hiển thị cho bạn tất cả các tệp và thư mục bên trong vùng chứa đó. Như với lệnh ghép ngắn Get-Item , bạn sẽ cần chỉ định đường dẫn của vùng chứa.

Để xóa các mục, bạn có thể thay thế hậu tố â € Getâ € bằng hậu tố â € œRemove.â €. Điều này sẽ cho phép bạn xóa mọi thứ, từ tệp và thư mục đến các khóa và chức năng đăng ký. Gõ Remove-Item <location\ name> . Bạn có thể xây dựng lệnh ghép ngắn này và chỉ xóa các tệp ẩn và "chỉ đọc" hoặc xóa các mục khỏi các thư mục và thư mục con cụ thể.

7. ConvertTo-Html

Lệnh này sẽ giúp bạn chuyển đổi một đối tượng .NET thành một tệp HTML có thể được hiển thị trong các trình duyệt Web . Đây là một lệnh ghép ngắn đầu ra có nghĩa là nó hoạt động tốt với các lệnh ghép ngắn khác. Chỉ cần(Simply) thêm nó vào cuối các lệnh ghép ngắn khác và bao gồm một đường dẫn tệp cụ thể. 

Ví dụ: nếu bạn muốn tạo một tệp HTML hiển thị tên, đường dẫn và công ty của tất cả các quy trình hiện tại của một máy tính cục bộ, hãy nhập:  

Get-Process | ConvertTo-Html -Property Name, Path, Company -Title “Process Information” | Out-File filename.htm

Thay thế(Replace) filename.htm bằng bất kỳ tên tệp nào bạn muốn.

Để mở tệp đã tạo, hãy sử dụng lệnh ghép ngắn Gọi-Mục(Invoke-Item cmdlet ) cộng với <file name.htm> . Nội dung sẽ giống như hình dưới đây.

8. Set-Executionpolicy

Nếu bạn muốn chạy các tập lệnh PowerShell cục bộ , bạn sẽ phải thay đổi chính sách thực thi của chính PowerShell . Trên máy tính Windows , chính sách thực thi luôn bị hạn chế và bạn sẽ cần thay đổi nó thành RemoteSigned hoặc Unrestricted . Trên các máy tính không phải Windows như Linux hoặc Mac , nó thường được đặt thành Không hạn chế(Unrestricted) và không thể thay đổi. 

Nếu bạn muốn tìm hiểu thêm về chính sách thực thi PowerShell , chỉ cần nhập:

trợ giúp Set-ExecutionPolicy(help Set-ExecutionPolicy)

PowerShell sẽ hiển thị các tệp trợ giúp về chính sách thực thi trên máy tính của bạn hoặc thông báo cho bạn nếu không có. Nhưng nó cũng sẽ cung cấp cho bạn một liên kết mà bạn có thể theo dõi và đọc trực tuyến về nó.

Để đặt chính sách thành RemoteSigned , chỉ cần nhập:

Set-Executionpolicy RemoteSigned

Để đặt nó thành Loại không hạn chế:

Set-Executionpolicy Không hạn chế(Set-Executionpolicy Unrestricted)

Để kiểm tra cài đặt hiện tại cho chính sách thực thi, hãy nhập:  

Get-Executionpolicy

Vì các chính sách thực thi là một phần của chiến lược bảo mật của PowerShell, nên nó sẽ yêu cầu bạn xác nhận thay đổi. Chỉ nhập Y nếu bạn chắc chắn muốn tiếp tục.

9. Chọn-Đối tượng

Lệnh này được sử dụng để chọn các đối tượng và tập hợp các đối tượng, các đối tượng duy nhất và các đối tượng ở một vị trí cụ thể trong một mảng. Có các tham số khác nhau mà bạn có thể sử dụng để chỉ định các đối tượng bạn muốn chọn. Trong số đó có các thuộc tính, giá trị số và các đối tượng đầu vào cụ thể. 

Để chọn các đối tượng theo thuộc tính thuộc tính, bạn sẽ cần chỉ định các thuộc tính như tên, ID hoặc CPU . Bạn thậm chí có thể nhóm các thuộc tính, nhưng bạn phải phân tách chúng bằng dấu phẩy khi nhập lệnh. Để xem lệnh ghép ngắn Select-Object trong loại hành động:

Get-Process | Select-Object -Property ProcessName, Id, CPU

PowerShell sẽ liệt kê tất cả các quy trình hiện tại và các thuộc tính của chúng, như được hiển thị bên dưới .

Bây giờ bạn có thể sử dụng lệnh -EpandProperty để nhận thông tin chi tiết về thuộc tính cụ thể. Nếu bạn muốn biết chi tiết về thuộc tính Mô-đun(Modules) của loại thuộc tính ProcessName :

Get-Process Chrome | Select-Object -Property ProcessName -ExpandProperty Modules | Format-list

Đầu ra â € œFormat-listâ € của lệnh ở đó để làm cho kết quả được định dạng và có thể đọc được.

10. Export-CSV

Đôi khi các lệnh PowerShell dẫn đến danh sách dài, như chúng ta đã thấy với lệnh ghép ngắn Get-Command . Danh sách dài và nhiều thông tin rất khó đọc, và bạn sẽ muốn nó có tổ chức hơn. Để thực hiện việc này, hãy xuất tất cả dữ liệu thành tệp CSV(CSV) . Bạn có thể thực hiện việc này trực tiếp trong PowerShell bằng cách sử dụng chức năng Export- CSV .

Ví dụ: chúng ta thấy rằng lệnh ghép ngắn Get-Command cung cấp cho chúng ta một danh sách dài tất cả các lệnh ghép ngắn có sẵn mà chúng ta có thể sử dụng trong PowerShell tại thời điểm đó. Bạn có thể kết hợp Get-CommandExport-CSV để tạo danh sách chi tiết với các giá trị được phân tách bằng dấu phẩy như tên, nguồn và phiên bản mà các ứng dụng như Excel có thể nhận ra. 

Để thực hiện việc này, hãy nhập lệnh sau vào dấu nhắc lệnh PowerShell nhưng lưu ý rằng bạn có thể đặt bất kỳ đường dẫn nào bạn muốn và bạn có thể đặt tên tệp của mình theo cách khác:

Get-Command | Select Name, Source, Version | export-csv D:\AllCommands.csv

Bây giờ bạn có thể mở danh sách trong Excel và bạn sẽ thấy một cái gì đó tương tự như hình ảnh sau đây.



About the author

Tôi là Chuyên gia Windows và đã làm việc trong ngành phần mềm hơn 10 năm. Tôi có kinh nghiệm với cả hệ thống Microsoft Windows và Apple Macintosh. Các kỹ năng của tôi bao gồm: quản lý cửa sổ, phần cứng máy tính và âm thanh, phát triển ứng dụng, v.v. Tôi là một nhà tư vấn giàu kinh nghiệm có thể giúp bạn khai thác tối đa hệ thống Windows của mình.



Related posts