Windows PowerShell là công cụ bảo vệ dòng lệnh mới và đang dần trở thành ứng dụng có thể thay thế Command Prompt trong tương lai. Tuy nhiên học hỏi và sử dụng Windows PowerShell lại tương đối khó hơn hơn so với CMD đã quá quen thuộc với người dùng. Vậy hãy cùng Phong Vũ Công nghệ làm quen và tìm hiểu 20 lệnh PowerShell hữu dụng trong bài viết lần này!

Windows PowerShell là công cụ bảo vệ dòng lệnh mới và đang dần trở thành ứng dụng có thể thay thế Command Prompt trong tương lai. Tuy nhiên học hỏi và sử dụng Windows PowerShell lại tương đối khó hơn hơn so với CMD đã quá quen thuộc với người dùng. Vậy hãy cùng Phong Vũ Công nghệ làm quen và tìm hiểu 20 lệnh PowerShell hữu dụng trong bài viết lần này!


*

Nếu bạn chưa quen với PowerShell, bạn có thể gặp rắc rối; và trong những tình huống như vậy, Get-Help trở thành vị cứu tinh của bạn. Nó cung cấp thông tin cần thiết về lệnh ghép ngắn, lệnh, hàm, tập lệnh và luồng công việc của PowerShell.

Bạn đang xem: Hướng dẫn sử dụng powershell

Hơn nữa, thật dễ dàng: bạn cần gõ Get-Help theo sau lệnh, trong đó, bạn tìm kiếm các chi tiết. Ví dụ, bạn có thể nhận được thông tin về “Get-Process” bằng cách sử dụng Get-Help Get-Process.



Windows PowerShell cho phép khám phá các lệnh và tính năng của nó bằng Get-Command. Nó hiển thị danh sách các lệnh của một tính năng cụ thể hoặc cho một mục đích cụ thể dựa trên thông số tìm kiếm của bạn.

Bạn chỉ cần gõ Get-Command theo sau là truy vấn tìm kiếm của bạn trong PowerShell. Ví dụ, Get-Command * -service * hiển thị các lệnh với “-service” trong tên của nó. Hãy nhớ sử dụng các dấu hoa thị trên cả hai mặt truy vấn của bạn vì nótiện lợi hơn giúp tìm kiếm cái chưa biết.



Khi bạn muốn chạy lệnh hoặc tập lệnh PowerShell – cục bộ hoặc từ xa trên một hoặc nhiều (các) máy tính – “Invoke-Command” là bạn của bạn. Nó rất dễ sử dụng và giúp bạn điều khiển hàng loạt máy tính.

Bạn phải nhập Invoke-Command theo sau là lệnh hoặc kịch bản với đường dẫn đầy đủ của nó. Ví dụ, bạn có thể chạy lệnh “Get-EventLog” bằng cách sử dụng Invoke-Command -ScriptBlock {Get-EventLog system -Newest 50} hoặc trên máy tính từ xa “Server01” sử dụng Invoke-Command -ScriptBlock {Get-EventLog system -Newest 50} -ComputerName Server01.



Invoke-Expression chạy một lệnh hoặc biểu thức khác. Nếu bạn đang cung cấp một biểu thức hoặc một chuỗi làm đầu vào của nó, lệnh này trước tiên sẽ đánh giá nó, sau đó chạy nó, nhưng cũng chỉ hoạt động cục bộ, không giống như lệnh trước đó.

Bạn phải nhập Invoke-Expression theo sau là một lệnh hoặc một biểu thức. Ví dụ, bạn có thể gán một biến “$ Command” với một chuỗi nói lệnh “Get-Process”. Khi bạn chạy Invoke-Expression $Command, “Get-Process” được chạy như một lệnh trên máy tính cục bộ của bạn.



Bạn có thể tải xuống, đăng nhập và xóa thông tin trên các trang web và dịch vụ web trong khi làm việc trên Windows PowerShell bằng cách sử dụng Invoke-WebRequest.

Bạn phải sử dụng nó như Invoke-WebRequest theo sau là các tham số của nó. Ví dụ, bạn có thể nhận được các liên kết trên một trang web nhất định bằng cách sử dụng lệnh như (Invoke-WebRequest -Uri “https://docs.microsoft.com”).Links.Href.


Mặc dù việc tạo và thực thi các tập lệnh (có phần mở rộng “ps1”) trong Windows PowerShell là có thể; tuy nhiên, có những hạn chế cho mục đích bảo mật. Nhưng bạn có thể chuyển đổi mức bảo mật bằng cách sử dụng lệnh Set-ExecutionPolicy.

Bạn có thể gõ Set-ExecutionPolicy theo sau là một trong bốn cấp độ bảo mật – Bị hạn chế, Đã ký từ xa, Đã ký tất cả hoặc Không hạn chế để sử dụng lệnh. Ví dụ: bạn có thể chỉ định trạng thái chính sách bị hạn chế bằng cách sử dụng Set-ExecutionPolicy -ExecutionPolicy Restricted.


Nếu bạn đang tìm kiếm thông tin về một mục tại bất kỳ vị trí cụ thể nào, hãy nói một tệp trên đĩa cứng của bạn, Get-Item là cách tốt nhất để lấy nó trong Windows PowerShell. Bạn phải biết rằng nó không nhận được nội dung của mục, chẳng hạn như các tệp và thư mục con trong một thư mục nhất định trừ khi bạn chỉ định rõ ràng.

Bạn phải nhập Get-Item theo sau là một đường dẫn hoặc một chuỗi cùng với các tham số của nó nếu có. Ví dụ: bạn có thể nhận tất cả các mục (tệp hoặc thư mục) bắt đầu bằng “M” trong thư mục hiện tại bằng cách sử dụng Get-Item M* . Cùng với nội dung của các thư mục, nó cũng có thể lấy nội dung của các khóa registry.


Nếu bạn cần sao chép các tệp và thư mục trên đĩa lưu trữ hoặc các mục đăng ký và các khóa trong sổ đăng ký, bạn có thể sử dụng Copy-Item. Nó hoạt động tương tự như lệnh “cp” chúng ta có trong Command Prompt, nhưng nó tốt hơn nhiều.

Bạn có thể tận dụng lệnh Copy-Item để sao chép và đổi tên các mục trong cùng một lệnh – cung cấp tên mới làm đích. Ví dụ, bạn có thể sao chép và đổi tên “Services.htm” thành “MyServices.txt” bằng cách sử dụng Copy-Item “C:Services.htm” -Destination “C:MyDataMyServices.txt”.


Nếu bạn muốn xóa các mục như tệp, thư mục, chức năng và khóa và biến đăng ký, Remove-Item là lệnh cho bạn. Điều tôi thấy thú vị là, nó cung cấp các tham số để bao gồm và loại trừ các mục.

Bạn có thể tận dụng lệnh Remove-Item để xóa các mục từ các vị trí cụ thể bằng cách sử dụng các tham số. Ví dụ: bạn có thể xóa tệp “MyServices.txt” bằng lệnh Remove-Item “C:MyDataMyServices.txt”.


Khi bạn cần xem nội dung của tệp văn bản tại một vị trí cụ thể, bạn mở và đọc nó trong trình chỉnh sửa mã / văn bản như Notepad++. Trong Windows PowerShell, bạn có thể sử dụng Get-Content để truy xuất nội dung mà không cần mở tệp.

Xem thêm: Thần Điêu Đại Hiệp

Ví dụ, bạn có thể lấy 50 dòng nội dung của “Services.htm”, sau đó bạn có thể sử dụng Get-Content “C:Services.htm” -TotalCount 50.


Bạn có thể lưu văn bản vào các tệp bằng cách sử dụng Set-Content, tương tự như lệnh “echo” của Bash Shell. Kết hợp với Get-Content, bạn cũng có thể truy xuất nội dung của một tệp và sao chép nó vào một tệp khác bằng lệnh này.

Ví dụ: bạn có thể nhập Set-Content để viết hoặc thay thế nội dung của một tệp có nội dung mới. Hơn nữa, bạn có thể kết hợp nó với ví dụ của lệnh trước đó để lưu đầu ra của nó vào một tệp mới có tên là “Sample.txt” bằng cách sử dụng Get-Content “C:Services.htm” -TotalCount 50 | Set-Content “Sample.txt”.


Nếu bạn đang muốn sử dụng các biến trong Windows PowerShell, lệnh Get-Variable sẽ giúp bạn hình dung các giá trị của các biến. Nó cho thấy chúng dưới dạng bảng và cho phép bao gồm, loại trừ và sử dụng các ký tự đại diện.

Bạn có thể sử dụng lệnh này bằng cách nhập Get-Variable tiếp theo là các tùy chọn và tham số của nó. Ví dụ: bạn có thể truy xuất giá trị cho biến có tên “desc” bằng cách sử dụng mã sau: Get-Variable -Name “desc”.


Bạn có thể gán hoặc thay đổi / đặt lại giá trị của biến bằng lệnh Set-Variable. Như một phím tắt, bạn cũng có thể đặt một biến đơn giản bằng cách sử dụng định dạng ${ $Tên = Giá trị }$, giống như $desc = “A Description”.

Bạn có thể sử dụng lệnh Set-Variable tiếp theo là các tham số của nó để thiết lập một biến. Ví dụ, chúng ta có thể thiết lập giá trị cho một biến có tên là “desc” bằng cách sử dụng lệnh Set-Variable -Name “desc” -Value “A Description”.


Chúng tôi thường sử dụng Trình quản lý Tác vụ để tìm các quy trình đang chạy trên máy tính của chúng tôi. Trong Windows PowerShell, bất kỳ ai cũng có thể sử dụng Get-Process để lấy danh sách các tiến trình đang chạy, mà bạn có thể xử lý thêm nữa.

Bạn có thể viết lệnh như Get-Process cùng với truy vấn tìm kiếm của bạn. Ví dụ: nếu bạn cần thông tin về các quy trình có “khám phá” trong tên của nó, bạn có thể nhập Get-Process *explore* (lưu ý các dấu hoa thị).


Windows PowerShell giúp dễ dàng bắt đầu một hoặc nhiều quy trình trên máy tính của bạn. Tôi thấy lệnh này rất tiện dụng trong các ứng dụng kịch bản vì nó là một trong những lệnh phải có mà bạn sẽ cần để tự động hóa một tác vụ.

Bạn có thể gõ Start-Process theo sau là các tham số của nó để sử dụng lệnh. Ví dụ, bạn có thể khởi động Notepad bằng cách gõ Start-Process -FilePath “notepad” -Verb runAs trong Windows PowerShell.


Khi bạn cần thông tin về các dịch vụ cụ thể (đang chạy hoặc dừng) trên máy tính của mình, bạn có thể sử dụng Dịch vụ Nhận. Nó hiển thị các dịch vụ được cài đặt trong hệ thống của bạn và cung cấp các tùy chọn để lọc và bao gồm và loại trừ chúng.

Nếu bạn muốn sử dụng lệnh này, bạn có thể nhập Get-Service theo sau là các tham số của nó. Ví dụ, gõ như sau Get-Service | Where-Object {$_.Status -eq “Running”} để có được các dịch vụ “chạy” trên hệ thống của bạn.


Nếu bạn muốn bắt đầu một dịch vụ trên máy tính của bạn, lệnh Start-Service có thể giúp bạn thực hiện tương tự từ Windows PowerShell. Tôi thấy nó đủ mạnh để bắt đầu một dịch vụ ngay cả khi dịch vụ đó bị tắt trên máy tính của bạn.

Bạn cần phải chỉ định tên của dịch vụ trong khi sử dụng lệnh Start-Service. Ví dụ, Start-Service -Name “WSearch” bắt đầu dịch vụ “Windows Search” trên máy tính cục bộ của bạn.


Nếu bạn muốn dừng các dịch vụ đang chạy trên máy tính của mình, lệnh Stop-Service sẽ hữu ích. Bạn cần chỉ định tên của dịch vụ cùng với Stop-Service. Ví dụ, nhập Stop-Service -Name “WSearch” để ngừng dịch vụ “Tìm kiếm Windows” trên máy tính của bạn.


PowerShell có thể cung cấp thông tin tuyệt vời về hệ thống của bạn. Tuy nhiên, nó chủ yếu được trình bày ở định dạng khó tiêu, nhưng bạn có thể sử dụng ConvertTo-HTML để tạo và định dạng báo cáo để phân tích hoặc gửi báo cáo cho ai đó.

Bạn có thể dùng ConvertTo-HTML cùng với đầu ra của một lệnh khác bằng cách sử dụng đường ống. Ví dụ Get-Service | ConvertTo-HTML -Property Name, Status > C:Services.htm hiển thị danh sách tất cả các dịch vụ và trạng thái của chúng dưới dạng báo cáo web, được lưu trữ trong tệp “Services.htm”.


Phân phối chính hãng các dòng sản phẩm Smart TV, Laptop, PC, Tủ Lạnh, Máy Lạnh, Máy điều hòa, Linh kiện, Gaming Gear, Màn hình, Thiết bị văn phòng, Phần mềm chính hãng, Camera...
.td-a-rec-id-sidebar .ad-div { margin-bottom: 15px;}.td-a-rec-id-custom_ad_1 > div, .td-a-rec-id-custom_ad_2 > div, .td-a-rec-id-custom_ad_3 > div, .td-a-rec-id-custom_ad_4 > div, .td-a-rec-id-custom_ad_5 > div { margin-bottom: 15px;}/*Responsive Button Modifier*/button {border: none;background: #3a7999;color: #f2f2f2;padding: 4px 30px 4px 30px;font-size: 16px;border-radius: 9px;position: relative;box-sizing: border-box;}button:before {content:"";position: absolute;top: 0px;right: 0px; left: 0px; bottom: 0px;width: 0px;height: 40px;background: rgba(255,255,255,0.3);border-radius: 5px;transition: all 2s; visibility: visible;} button:hover:before {width: 100%;}h1 { font-style: italic; text-align: center;}