Chuyển đổi powershell từ html

Xin chào các bạn, bài viết hôm nay mình sẽ hướng dẫn các bạn cách thực hiện lệnh Script Power Shell trong lập trình C# Winform

Windows PowerShell chắc còn không xa lạ với chúng ta, trong bài viết này mình chỉ hướng dẫn các bạn cách chạy lệnh powershell trong winform C#

Và lấy dữ liệu kết quả trả về và xử lý theo ý muốn của chúng ta

VD. Trong Power Shell chúng ta có lệnh như. kiểm tra hashfile sha1 hay md5. , thì chúng ta cũng có thể sử dụng tập lệnh để lấy

Hoặc sử dụng các chức năng cơ bản như

Get-Process, Get-Service, Get-FileHash

Các bạn có thể Google để tìm hiểu thêm về các lệnh của PowerShell nhé các bạn

Dưới đây là giao diện demo của ứng dụng

Hiển thị các Tiến trình đang chạy (Trình quản lý tác vụ) sử dụng PowerShell

Chuyển đổi powershell từ html

Để thực hiện được bài viết này, các bạn cần cài đặt thư viện System.Management.Automation từ Nuget như hình ảnh bên dưới

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ế Dấu nhắc Lệnh trong tương lai. Tuy nhiên, việc học hỏi và sử dụng Windows PowerShell lại tương đối khó hơn so với CMD đã quá quen thuộc với người dùng. Vì 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 này

Nhận trợ giúp [trợ giúp]

Chuyển đổi powershell từ html

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 thành công .   Nó cung cấp thông tin cần thiết về lệnh rút gọn, lệnh, hàm, tệp lệnh và luồng công việc của PowerShell.

Hơn nữa, thật dễ dàng. bạn cần nhập Get-Help theo lệnh sau, 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 .

Nhận lệnh [gcm]

Chuyển đổi powershell từ html

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 tiêu cụ thể có thể dựa trên thông số tìm kiếm của bạn.

Bạn chỉ cần nhập 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ó thuận lợi hơn giúp tìm kiếm cái chưa biết.

Lệnh gọi [icm]

Chuyển đổi powershell từ html

Khi bạn muốn chạy lệnh hoặc tập lệnh PowerShell – bộ cục bộ hoặc từ xa trên một hoặc nhiều (các) máy tính – “Invoke-Command” là 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 .

Gọi-Biểu thức [iex]

Chuyển đổi powershell từ html

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 bắt đầu cho nó, lệnh này trước tiên sẽ đánh giá nó, sau đó chạy nó, nhưng .

You must enter 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 lệnh “Get-Process”. Khi bạn chạy Invoke-Expression $Command, “Get-Process” được chạy dưới dạng lệnh trên bộ máy tính cục bộ của bạn

Gọi-WebRequest [iwr]

Chuyển đổi powershell từ html

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 khi thực hiện công 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 tốt nhất bằng cách sử dụng lệnh như (Invoke-WebRequest -Uri “https. // tài liệu. Microsoft. com”). liên kết. tham khảo

Set-ExecutionPolicy

Chuyển đổi powershell từ html

Mặc dù việc tạo và thực thi lệnh (có phần mở rộng “ps1”) trong Windows PowerShell là có thể;   tuy .   Tuy nhiên, 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ể nhập Set-ExecutionPolicy theo sau là một trong các mức độ bảo mật – Bị giới hạn chế độ, Đã ký từ xa, Đã ký tất cả hoặc Không có giới 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 bị hạn chế

Nhận vật phẩm [gi]

Chuyển đổi powershell từ html

Nếu bạn đang tìm kiếm thông tin về một mục ở 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 được xác định rõ ràng nhất trừ khi bạn chỉ rõ ràng

You must enter Get-Item by after is a path or a string same with the numbers of it if have. 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 đăng ký

Sao chép-Mục [bản sao]

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à thay đổi tên các mục trong cùng một lệnh – cung cấp tên mới cho mục đích làm. Ví dụ, bạn có thể sao chép và đổi tên “Dịch vụ. htm” thành “Dịch vụ của tôi. txt” bằng cách sử dụng Copy-Item “C. Dịch vụ. htm” -Điểm đến “C. MyDataDịch vụ của tôi. txt”

Xóa mục [del]

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 is command for you. Đ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ụ. you could delete file “MyServices. txt” bằng lệnh Remove-Item “C. MyDataDịch vụ của tôi. txt”

Lấy nội dung [con mèo]

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 có thể 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

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. Dịch vụ. htm” -TotalCount 50

Đặt nội dung [sc]

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 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. Dịch vụ. htm” -TotalCount 50. Đặt nội dung “Mẫu. txt”

Chuyển đổi powershell từ html

Get-Biến [gv]

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 xác định 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-Biến -Tên “desc”

Set-Biến [set]

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. Giống 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 ${ $Name = 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”

Chuyển đổi powershell từ html

Get-Process [gps]

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ể vào Get-Process *explore* (lưu ý các dấu hoa thị)

Bắt đầu quá trình [sap]

Chuyển đổi powershell từ html

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 cần phải 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 nhập Start-Process -FilePath “notepad” -Verb runAs trong Windows PowerShell

Nhận dịch vụ [gsv]

Chuyển đổi powershell từ html

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. Đối tượng ở đâu {$_. Status -eq “Running”} để có các dịch vụ “đang chạy” trên hệ thống của bạn

Bắt đầu dịch vụ [sasv]

Nếu bạn muốn bắt đầu một dịch vụ trên máy tính của mình, 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 bộ máy tính cục bộ của bạn

Dịch vụ dừng [spsv]

Chuyển đổi powershell từ html

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. You need to only the same name of the service with Stop-Service. Ví dụ, nhập Stop-Service -Name “WSearch” để tiếp tục dịch vụ “Tìm kiếm Windows” trên máy tính của bạn

Chuyển đổi sang HTML

PowerShell có thể cung cấp thông tin tuyệt vời về hệ thống của bạn. Tuy nhiên, phần chủ yếu của nó đượ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ể sử 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 -Tên thuộc tính, Trạng thái > C. Dịch vụ. 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 “Dịch vụ. htm”