/ / 16 lệnh PowerShell (Cmdlets) hay nhất mà bạn phải biết

16 lệnh PowerShell (Cmdlets) hay nhất mà bạn phải biết

Hầu hết chúng ta thích PowerShell do khả năng tự động hóa của nó. Đó là một trình bao dòng lệnh với một ngôn ngữ kịch bản được phát triển đầy đủ. Bạn có thể sử dụng các lệnh ghép ngắn có sẵn hoặc viết tập lệnh của riêng mình để tự động hóa các tác vụ quản trị của Windows và các hệ điều hành tương thích khác. Nó cho phép bạn làm mọi thứ mà bạn có thể làm với các ứng dụng GUI và hơn thế nữa.


Tuy nhiên, việc nắm vững chức năng và tính linh hoạt của PowerShell liên quan đến một đường cong học tập dốc. Nếu bạn mới bắt đầu với PowerShell, đây là các lệnh cần thiết mà bạn có thể học để thành thạo ngôn ngữ kịch bản này về lâu dài.


1. Nhận trợ giúp

Được trợ giúp, như tên cho thấy, là một phần của hệ thống trợ giúp tích hợp của PowerShell. Nó giúp bạn tìm kiếm thông tin cần thiết cho lệnh, khái niệm và chức năng, xác định bí danh, tập lệnh và hơn thế nữa.

Để nhận trợ giúp cho lệnh ghép ngắn PowerShell, bạn cần sử dụng lệnh ghép ngắn Get-help theo sau là tên lệnh ghép ngắn. Ví dụ: để xem tóm tắt và cú pháp được liên kết với lệnh ghép ngắn get-process, hãy nhập:

Get-Help Get-Process

Lệnh này có thể đọc cả trợ giúp dựa trên nhận xét và dựa trên XML do tác giả hàm cung cấp.

Ngoài ra, bạn có thể sử dụng Nhận trợ giúp-trực tuyến lệnh để nhận trợ giúp về lệnh ghép ngắn PowerShell trực tuyến. Ví dụ: để xem tài liệu trực tuyến của Microsoft cho Có được nội dung cmdlet, loại:

Get-Help Get-Content -online

2. Nhận-Xử lý

Các Nhận-Xử lý lệnh giúp bạn truy xuất và hiển thị danh sách tất cả các quy trình hệ thống đang hoạt động với số nhận dạng (ID) của chúng. Bạn có thể sử dụng nó như một giải pháp thay thế hiệu quả cho Windows Task Manager để xem, dừng và khởi động lại các quy trình hệ thống.

Ví dụ: nếu bạn cần dừng quy trình GameBar, trước tiên bạn cần tìm ID quy trình được liên kết với nó. Vì vậy, hãy nhập:

Get-Process

Lệnh này sẽ hiển thị tất cả các tiến trình hệ thống đang chạy. Tiếp theo, tìm ID được liên kết với quá trình bạn muốn dừng. Để dừng quá trình, hãy nhập:

Get-Process -ID 20496 | Stop-Process

Nơi đây -ID 20496 là ID của tiến trình (GameBar) mà bạn muốn dừng.

3. Bắt đầu quá trình

Bạn có thể dùng Bắt đầu quá trình lệnh ghép ngắn trong PowerShell để bắt đầu một hoặc nhiều quy trình trên máy tính cục bộ. Để sử dụng lệnh ghép ngắn, hãy nhập Start-Process, theo sau là tên tiến trình. Ví dụ: nếu bạn muốn bắt đầu một quy trình notepad mới, hãy nhập:

Start-Process notepad 

Ngoài ra, bạn có thể sử dụng các tham số của Start-Process để chỉ định các tùy chọn. Ví dụ: nếu bạn cần khởi chạy một quy trình với tư cách là quản trị viên, hãy nhập:

Start-Process -FilePath "notepad" -Verb runAs

4. Nhận lệnh

Các Nhận lệnh cho phép bạn xem tất cả các lệnh PowerShell được cài đặt trên máy tính của bạn. Tương tự như Get-Help, bạn có thể sử dụng Get-Command theo sau là truy vấn tìm kiếm để tìm các lệnh cho một tính năng cụ thể.

Vì Get-Command hiển thị tất cả các lệnh, bạn có thể chỉ định các tham số để tìm các tính năng có tên và CommandType cụ thể. Ví dụ: để tìm các lệnh ghép ngắn (CommandTypes) bắt đầu bằng A (Tên), hãy nhập:

Get-Command -Name A* -CommandType cmdlet

Ngoài ra, hãy nhập Get-Help Get-Command -Examples để xem thêm các ví dụ.

5. Nhận dịch vụ

Các Nhận dịch vụ lệnh ghép ngắn cho phép bạn xem trạng thái máy tính và danh sách các dịch vụ. Theo mặc định, lệnh Get-Service trả về tất cả các dịch vụ (đã dừng và đang chạy).

Bạn có thể sử dụng các tham số để chỉ định và tìm các dịch vụ tùy thuộc vào trạng thái, tên và các dịch vụ phụ thuộc của chúng. Ví dụ: để xem tất cả các dịch vụ bắt đầu bằng tên Win, hãy nhập:

Get-Service -Name "Win*"

6. Get-ChildItem

Bạn có thể sử dụng PowerShell để tìm kiếm trong các thư mục. Các Get-ChildItem command là một lệnh ghép ngắn tiện dụng để tìm kiếm các thư mục và tệp cũng như nhanh chóng thực hiện các tìm kiếm dựa trên nội dung mà không cần sử dụng File Explorer.

Để xem tất cả các thư mục cấp cao nhất trong thư mục C: , hãy nhập:

Get-ChildItem "C:"

Ngoài ra, hãy sử dụng -Đường dẫn để xem một thư mục, thư mục con và nội dung cụ thể. Ví dụ: để xem tất cả các thư mục con và tệp trong thư mục Tệp Chương trình, hãy nhập:

Get-ChildItem -Path "C:Program Files"

Ngoài ra, hãy sử dụng –Recurse để xem tất cả các tệp trong thư mục được chỉ định và -Tên tham số để xem tên mục trong một thư mục.

Get-ChildItem -Path "C:Program FilesFodler_Name" -Recurse | Select FullName

Trong lệnh trên, thay thế thư mục con với tên thư mục để xem nội dung của nó.

7. Copy-Item

Các Copy-Item cmdlet cho phép bạn sao chép-dán các tệp và thư mục và nội dung của chúng vào một thư mục khác. Để sao chép tệp và thư mục, hãy nhập Copy-Item theo sau là nguồn –Đường dẫn, -Điểm đến tham số và địa chỉ đích. Ví dụ, để sao chép E: Folder1 và nội dung của nó để E: Folder2loại hình:

Copy-Item "E:Folder1" -Destination "E:Folder2" -Recurse

Lưu ý rằng -Recurse tham số trong lệnh trên chịu trách nhiệm di chuyển tất cả nội dung thư mục. Nếu không có nó, PowerShell sẽ chỉ sao chép thư mục cấp cao nhất (Folder1) và các tệp được chỉ định trong lệnh.

8. Move-Item

Tương tự, để di chuyển một mục, bạn có thể sử dụng Vật phẩm di chuyển cmdlet. Ví dụ: để di chuyển thư mục, tệp, thư mục con và tất cả nội dung của nó đến đích được chỉ định của bạn, hãy nhập:

Move-Item -Path "E:Folder1" -Destination "E:Folder2" 

9. Loại bỏ mục

Các Loại bỏ mục lệnh ghép ngắn cho phép bạn xóa các tệp, thư mục, chức năng và các kiểu dữ liệu khác khỏi thư mục được chỉ định. Ví dụ: để xóa tệp Test.txt trong thư mục E: Folder1, hãy nhập:

Remove-Item E:Folder1Test.txt

10. Nhận nội dung

Các Có được nội dung cmdlet cho phép bạn xem nội dung của một mục item mà không cần sử dụng trình soạn thảo văn bản. Ví dụ, để truy xuất nội dung của tệp Test.txt, hãy nhập:

Get-Content "E:Folder1Test.txt"

Bạn có thể chỉ định thêm độ dài nội dung để xem bằng cách sử dụng -TotalCount tham số.

11. Nội dung rõ ràng

Bạn có thể dùng Nội dung rõ ràng lệnh ghép ngắn để xóa nội dung của một tệp được chỉ định mà không xóa chính tệp đó. Hữu ích cho tự động hóa tác vụ trong đó bạn có tên tệp được mã hóa cứng nhưng muốn có tệp sạch mỗi khi tập lệnh chạy.

Để kiểm tra lệnh, hãy tạo một tệp văn bản với một số nội dung trong đó. Tiếp theo, nhập:

Clear-Content -Path "E:Folder1Test1.txt"

Thao tác này sẽ xóa nội dung của tệp mà không cần xóa tệp.

12. Set-ExecutionPolicy

Chính sách thực thi mặc định trong PowerShell được đặt thành Hạn chế. Điều này ngăn chặn việc thực thi các tập lệnh độc hại trong môi trường PowerShell. Tuy nhiên, khi bạn thực thi một tập lệnh PowerShell cục bộ, bạn có thể gặp phải trường hợp tập lệnh thực thi bị vô hiệu hóa do lỗi hệ thống này.

Các Set-ExecutionPolicy lệnh ghép ngắn cho phép bạn thay đổi mức độ bảo mật để thực thi tập lệnh. Để biết chính sách thực thi hiện tại của bạn, hãy nhập:

Get-ExecutionPolicy

Nếu bạn cần thực thi một tập lệnh chưa được ký, trong lời nhắc PowerShell nâng cao, hãy nhập:

 Set-ExecutionPolicy RemoteSigned

Các giá trị Set-ExecutionPolicy hợp lệ khác bao gồm Hạn chế, Tất cả đã kýKhông hạn chế.

13. Đặt-Vị trí

Theo mặc định, PowerShell sử dụng C: Users Tên người dùng làm thư mục làm việc mặc định. Các Thiết lập địa điểm cmdlet cho phép bạn đặt thư mục làm việc hiện tại đến một vị trí được chỉ định. Hữu ích nếu bạn muốn chạy một tập lệnh hoặc lệnh từ một vị trí cụ thể mà không cần phải chỉ định đường dẫn mỗi lần.

Ví dụ, để thiết lập C: Users Tên người dùng Tài liệu làm thư mục làm việc hiện tại, nhập:

Set-Location "C:UsersusrenameDocuments"

Đây là một biện pháp tạm thời vì PowerShell sẽ đặt lại thư mục làm việc trở lại thư mục mặc định sau khi khởi động lại.

14. Export-CSV

Nếu bạn muốn xuất và trình bày đầu ra PowerShell theo cách có tổ chức hơn, bạn có thể sử dụng Export-CSV cmdlet. Nó nhận tệp đầu ra cho lệnh được chỉ định và chuyển đổi nó thành tệp CSV.

Để kiểm tra lệnh, hãy thử lệnh sau:

Get-Process | Export-CSV PSprocess.csv

Lệnh trên sẽ tạo ra một psporcess.csv tệp với tất cả dữ liệu của các quy trình đang hoạt động.

15. ConvertTo-HTML

Nếu bạn muốn tạo một báo cáo HTML, bạn có thể sử dụng ConvertTo-HTML Cmdlet. Để tạo báo cáo HTML cho tất cả quá trình đang chạy trên PC của bạn, hãy nhập:

Get-Process | ConvertTo-HTML > PSprocess.html

Trong lệnh trên, psprocess là tên của tệp xuất và HTML là phần mở rộng. Bạn có thể truy cập tệp HTML đã xuất trong thư mục làm việc hiện tại có tại C: Users tên người dùng.

16. Get-History

Bạn có thể dùng Lên xuống phím mũi tên để cuộn qua các lệnh được thực hiện gần đây trong PowerShell. Tuy nhiên, để xem danh sách tất cả các lệnh được thực hiện gần đây trong phiên hiện tại của bạn cùng một lúc, bạn có thể sử dụng Get-History cmdlet.

Nó sẽ hiển thị danh sách tất cả các lệnh được thực hiện gần đây cùng với ID của chúng. Hữu ích nếu bạn muốn xem toàn bộ ngữ cảnh của các lệnh đã thực hiện trước đó. Để làm điều này, hãy nhập:

Get-History Id | fl

Ví dụ: để xem chi tiết thực thi như trạng thái, thời gian bắt đầu và kết thúc cũng như thời lượng cho lệnh thứ ba, hãy nhập:

get-history 3 | fl, 

Để chạy lại bất kỳ lệnh nào từ danh sách, hãy nhập:

Invoke-History followed by the command id

Ví dụ, loại hình Gọi-Lịch sử 3 để chạy lại lệnh đã thực hiện trước đó mà không cần gõ lại lệnh đó.

Ngoài ra, sử dụng Xóa lịch sử để xóa lịch sử cho phiên hiện tại.

Bây giờ bạn đã có ý tưởng cơ bản về các lệnh PowerShell, hãy tiếp tục và khám phá hướng dẫn của chúng tôi về PowerShell Cmdlets tốt nhất để cải thiện kỹ năng quản trị Windows của bạn. Tại đây, bạn có thể học cách làm việc với dữ liệu bằng cách sử dụng lệnh ghép ngắn, bảng định dạng và danh sách cũng như tổng quan nhanh về lệnh Get-Member.

Lệnh PowerShell để hợp lý hóa công việc của bạn

PowerShell được biết đến với khả năng tự động hóa. Điều này có thể giúp bạn tự động hóa hàng trăm hoạt động trong công việc phát triển của mình để tiết kiệm thời gian và nâng cao năng suất.

Mặc dù chúng ta chỉ đề cập đến các lệnh cơ bản, hãy cố gắng khám phá cú pháp, bí danh và các biến, các hàm có sẵn trên nhiều lệnh này để nắm vững ngôn ngữ kịch bản hiệu quả cao này.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *