Hotline Hà Nội

HỖ TRỢ TẠI HÀ NỘI

HOÀNG HÀ PC CẦU GIẤY

0969.123.666 Mr.Long
0988.163.666 Mr.Hưng
0922.635.999 Mr.Thụ

HOÀNG HÀ PC ĐỐNG ĐA

0396.122.999 Mr.Nghĩa
0396.138.999 Mr.Huy
0396.178.999 Mr.Duy
0397.122.122 Mr.Tùng Anh

HỖ TRỢ KỸ THUẬT

0976.382.666 Mr.Dũng

HỖ TRỢ BẢO HÀNH

19006100 Bảo hành

Hotline Miền Trung

HỖ TRỢ TẠI MIỀN TRUNG

KH CÁ NHÂN - DOANH NGHIỆP

0359.072.072 Mr.Tuấn
0356.072.072 Mr.Huy

HỖ TRỢ KỸ THUẬT

0358.072.072 Mr.Toản

HỖ TRỢ BẢO HÀNH

19006100 Bảo hành

Hotline Hồ Chí Minh

HỖ TRỢ TẠI HỒ CHÍ MINH

KH CÁ NHÂN - DOANH NGHIỆP

0968.123.666 Mr.Bình
0379.260.260 Mr.Khanh

HỖ TRỢ KỸ THUẬT

0345.260.260 Mr.Nhân

HỖ TRỢ BẢO HÀNH

19006100 Bảo hành
Trang tin công nghệ Trang khuyến mãi

Hotline Mua hàng

1 Hỗ Trợ Kỹ Thuật - Bảo Hành: 19006100
2 Hotline Hà Nội (Mr. Long): 0969.123.666
3 Hotline Hà Nội (Mr. Nghĩa): 0396.122.999
4 Hotline Hà Nội (Mr. Huy): 0396.138.999
5 Hotline Hà Nội (Mr. Hưng): 0988.163.666
6 Hotline Hà Nội (Mr. Duy): 0396.178.999
7 Hotline Hà Nội (Mr. Thụ): 0922.635.999
8 Hotline Hồ Chí Minh (Mr. Bình): 0968.123.666
9 Hotline Hồ Chí Minh (Mr. Khanh): 0379.260.260
0

Danh mục sản phẩm

Xây Dựng Cấu Hình
Máy Khỏe - Máy Đẹp Tin Công Nghệ Review Sản Phẩm Benchmarks Blog Thủ Thuật Tin Tức Game Wiki Tin Khuyến Mãi Đại lý chính hãng

PowerShell là gì? Cách sử dụng PowerShell

Đăng trong Kiến Thức Máy Tính

Hầu hết các ứng dụng công nghệ thông tin được sử dụng ngày càng nhiều hơn vào việc quản trị hệ thống và giúp tối ưu hóa công việc một cách nhanh chóng.Vậy PowerShell là gì? Có bao nhiêu lệnh được sử dụng phổ biến? Để có thể có thêm nhiều thông tin hữu ích cùng tham khảo qua bài viết dưới đây. 

1. PowerShell là gì?

PowerShell là gì?

PowerShell là gì?

PowerShell là một công cụ tiện ích dòng lệnh và ngôn ngữ kịch bản nhằm hỗ trợ cho các quản trị viên trong việc tự động hóa hàng loạt nhiệm vụ cho mạng và máy tính. PowerShell có chứa những thành phần của CMD có tên đầy đủ là Command Prompt.

Việc người dùng học cách sử dụng PowerShell sẽ giúp đơn giản hóa rất nhiều công việc hàng ngày. Thay vì điều chỉnh riêng lẻ từng máy chủ thì bây giờ bạn cũng có thể sử dụng PowerShell để thực hiện những thay đổi trên hệ thống. Ngoài ra, PowerShell có nhiều cách sử dụng khác nhau như: lên lịch trên hệ thống, tạo ra những bản báo cáo chi tiết và nhiều dịch vụ khác. 

2. Cách hoạt động của PowerShell

PowerShell do Microsoft phát triển là một công cụ tích hợp các tính năng tự động hóa vào hệ điều hành, giúp giải quyết sự cố và thực hiện tác vụ một cách thuận tiện mà không cần xử lý thủ công toàn bộ quy trình. Công cụ này mang lại nhiều tính năng hữu ích và cho phép tạo các tập lệnh nhằm đơn giản hóa quản lý hệ thống, giảm thiểu sự lặp đi lặp lại của các công việc. PowerShell cũng được sử dụng trong việc xây dựng, thử nghiệm và triển khai giải pháp trong các môi trường như CI/CD.

Một số tính năng chính của ngôn ngữ script này bao gồm:

  • Khả năng mở rộng thông qua hàm, lớp, tập lệnh và mô-đun.
  • Hệ thống định dạng mở rộng, giúp dễ dàng xuất dữ liệu.
  • Hỗ trợ tích hợp cho các định dạng dữ liệu phổ biến như CSV, JSON và XML.

Với khả năng mở rộng, PowerShell hỗ trợ một loạt các mô-đun trong hệ sinh thái rộng lớn, bao gồm các công nghệ phổ biến mà lập trình viên thường sử dụng như Azure, Exchange, SQL, AWS, VMWare và Google Cloud.

3. Lý do nên sử dụng PowerShell

Lý do nên sử dụng PowerShell 

Lý do quản trị viên nên sử dụng PowerShell

Công nghệ ngày càng phát triển, việc người dùng ứng dụng PowerShell vào công việc sẽ đạt được rất nhiều lợi ích, chẳng hạn:

  • Nâng cao hiệu suất làm việc: Khi quản trị viên và người sở hữu trang có tìm hiểu và sử dụng PowerShell sẽ chủ động hơn trước mọi thao tác thuộc quy trình vận hành của hệ thống. Công cụ này được áp dụng với hầu hết các nền tảng hiện nay. Với PowerShell người dùng cũng có thể thực hiện các lệnh ghép ngắn và có thể dễ dàng tạo ra các tập lệnh ngay cả khi bản thân không phải là người phát triển, quản lý các phần mềm. 
  • Xóa, chỉnh sửa thông tin cùng lúc trên nhiều trang web: khi sử dụng lệnh PowerShell quản trị viên dễ dàng chỉnh sửa và xóa thông tin trên nhiều trang web cùng lúc mà không gặp lỗi khi thao tác. 
  • Thực hiện các tác vụ trong thời gian nhanh: vì PowerShell là một ngôn ngữ kịch bản tự động nên hầu như các tác vụ đều phải nhấp chuột từng lần. Nếu kết hợp cùng các định dạng tệp khác như .xml, .csv, .json thì sẽ tiết kiệm được một khoảng thời gian xử lý.  
  • Giải quyết, xử lý nhanh chóng các công việc chỉ với một đoạn mã ngắn. 

4. Một số lệnh cơ bản trong PowerShell

Để việc sử dụng PowerShell thì người dùng cần nắm các lệnh cơ bản sau để dễ dàng trong việc thao tác và đặt lệnh. Một số lệnh cơ bản được gợi ý gồm có:

No. Command name Alias Description
1 Set-Location cd, chdir, sl Sets the current working location to a specified location.
2 Get-Content cat, gc, type Gets the content of the item at the specified location.
3 Add-Content ac Adds content to the specified items, such as adding words to a file.
4 Set-Content sc Writes or replaces the content in an item with new content.
5 Copy-Item copy, cp, cpi Copies an item from one location to another.
6 Remove-Item del, erase, rd, ri, rm, rmdir Deletes the specified items.
7 Move-Item mi, move, mv Moves an item from one location to another.
8 Set-Item si Changes the value of an item to the value specified in the command.
9 New-Item ni Creates a new item.
10 Start-Job sajb Starts a Windows PowerShell background job.
11 Compare-Object compare, dif Compares two sets of objects.
12 Group-Object group Groups objects that contain the same value for specified properties.
13 Invoke-WebRequest curl, iwr, wget Gets content from a web page on the Internet.
14 Measure-Object measure Calculates the numeric properties of objects, and the characters, words, and lines in string objects, such as files …
15 Resolve-Path rvpa Resolves the wildcard characters in a path, and displays the path contents.
16 Resume-Job rujb Restarts a suspended job
17 Set-Variable set, sv Sets the value of a variable. Creates the variable if one with the requested name does not exist.
18 Show-Command shcm Creates Windows PowerShell commands in a graphical command window.
19 Sort-Object sort Sorts objects by property values.
20 Start-Service sasv Starts one or more stopped services.
21 Start-Process saps, start Starts one or more processes on the local computer.
22 Suspend-Job sujb Temporarily stops workflow jobs.
23 Wait-Job wjb Suppresses the command prompt until one or all of the Windows PowerShell background jobs running in the session are …
24 Where-Object ?, where Selects objects from a collection based on their property values.
25 Write-Output echo, write Sends the specified objects to the next command in the pipeline. If the command is the last command in the pipeline,…

 

5. Cách sử dụng PowerShell

Để có thể sử dụng công cụ PowerShell một cách hiệu quả thì người dùng có thể áp dụng 2 bước đơn giản sau:

  • Bước 1: Đầu tiên bấm các tổ hợp phím Windows + R.

Cách sử dụng PowerShell

  • Bước 2: Sau đó, màn hình hiện ra thì người dùng cần nhập vào PowerShell để mở giao diện và tiếp tục sử dụng. 

Cách sử dụng PowerShell

Nên nắm rõ các lệnh xuất hiện trong PowerShell để dễ dàng thao tác và ứng dụng đúng vào việc đặt lệnh. 

5.1. Cách để chạy Run cmdlets

cmdlet là một lệnh đơn chức năng. Bạn nhập cmdlet vào dòng lệnh giống như bạn làm với lệnh truyền thống. Cmdlets là cách chính để tương tác với CLI.

Trong PowerShell, hầu hết các cmdlets được viết bằng C # và bao gồm các hướng dẫn được thiết kế để thực hiện một hàm trả về đối tượng .NET object.

Hơn 200 cmdlet có thể được sử dụng trong PowerShell. Windows PowerShell Command Prompt không phân biệt chữ hoa chữ thường, vì vậy, các lệnh này có thể được nhập bằng chữ hoa hoặc chữ thường. Các lệnh cmdlets chính được liệt kê bên dưới:

  • Get-Location – Get the current directory
  • Set-Location – Get the current directory
  • Move-item – Move a file to a new location (Di chuyển)
  • Copy-item – Copy a file to a new location (sao chép)
  • Rename – item Rename an existing file (đổi tên)
  • New-item – Create a new file (Tạo file mới)

Để có danh sách đầy đủ các lệnh có sẵn cho bạn, hãy sử dụng lệnh ghép ngắn Get-Command. Trong dòng lệnh, bạn sẽ nhập như sau:

PS C:\> Get-Command

Điều quan trọng cần lưu ý là Microsoft hạn chế người dùng sử dụng tùy chỉnh custom cmdlets PowerShell trong default setting – cài đặt mặc định của nó. Để sử dụng cmdlets PowerShell, bạn cần thay đổi ExecutionPolicy từ Restricted thành RemoteSigned. RemoteSigned sẽ cho phép bạn chạy các tập lệnh của riêng mình nhưng sẽ ngăn các tập lệnh unsigned – chưa được ký của người dùng khác.

Để thay đổi chính sách Execution của bạn, hãy nhập lệnh PowerShell sau:

PS C:\>   Set-ExecutionPolicy

Điều quan trọng cần lưu ý là Microsoft hạn chế người dùng sử dụng tùy chỉnh custom cmdlets PowerShell trong default setting – cài đặt mặc định của nó. Để sử dụng cmdlets PowerShell, bạn cần thay đổi ExecutionPolicy từ Restricted thành RemoteSigned. RemoteSigned sẽ cho phép bạn chạy các tập lệnh của riêng mình nhưng sẽ ngăn các tập lệnh unsigned – chưa được ký của người dùng khác.Để thay đổi chính sách Execution của bạn, hãy nhập lệnh PowerShell sau:

PS C:> Set-ExecutionPolicy

Để thay đổi chính sách RemoteSigned của bạn, hãy nhập lệnh PowerShell sau:

PS C:> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Hãy chắn chắn bạn đang sử dụng tài khoản admin để có quyền thiết lập thay đổi.

5.2. Cách để chạy Run một PowerShell Scripts

Các quy trình và lệnh dựa trên tập lệnh là một phần nền tảng của tính linh hoạt của PowerShell. Trong PowerShell, script – tập lệnh về cơ bản là một text – tệp văn bản có phần mở rộng ps1 trong tên tệp của nó. Để tạo một tập lệnh mới, bạn chỉ cần mở sổ ghi chú của Windows, nhập các lệnh của bạn và lưu với ‘.ps1’ ở cuối tên.

Để chạy một script, hãy nhập folder-  thư mục và filename – tên tệp vào cửa sổ PowerShell:

PS C:\powershell\mynewscript.ps1

Sau khi bạn hoàn thành việc này, script đã chọn của bạn sẽ chạy.

5.3. Sao lưu CSDL – SQL Database với PowerShell

Nhiều người sử dụng PowerShell để sao lưu cơ sở dữ liệu SQL. Giao diện dòng lệnh có thể tiến hành sao lưu toàn bộ cơ sở dữ liệu, sao lưu tệp và sao lưu transaction log. Có nhiều cách để sao lưu cơ sở dữ liệu trong PowerShell, nhưng một trong những cách đơn giản nhất là sử dụng lệnh Backup-SqlDatabase. Ví dụ:

PS C:> Backup-SqlDatabase -ServerINstance “Computer\Instance” -Database “Databasecentral”

Thao tác này sẽ tạo bản sao lưu cơ sở dữ liệu của một cơ sở dữ liệu với tên ‘Databasecentral’ (hoặc tên của cơ sở dữ liệu bạn đã chọn).

Để sao lưu transaction log, bạn sẽ nhập:

PS C:> Backup-SqlDatabase -ServerInstance “Computer\Instance” -Database “Databasecentral” -BackupAction Log

Thao tác này sẽ tạo transaction log của cơ sở dữ liệu đã chọn.

5.4. Các lệnh PowerShell cơ bản

Việc sử dụng bí danh sẽ chỉ giúp bạn có được PowerShell cho đến nay, vì vậy điều quan trọng là phải cam kết tìm hiểu mọi thứ bạn có thể về các lệnh gốc của PowerShell. Chúng tôi đã đề cập đến một số trong số này ở trên, nhưng chúng tôi sẽ phân tích những vấn đề chính một cách chi tiết hơn bên dưới.

Get-Help

Lệnh này là lệnh nằm lòng cho các bạn mới dùng PowerShell. Lệnh Get-Help có thể được sử dụng để nhận trợ giúp về bất kỳ lệnh PowerShell nào khác. Ví dụ: nếu bạn biết tên của một lệnh, nhưng bạn không biết nó có tác dụng gì hoặc cách sử dụng nó, lệnh Get-Help cung cấp cú pháp lệnh đầy đủ.

Ví dụ: nếu bạn muốn xem Get-Process hoạt động như thế nào, bạn sẽ nhập:

PS C:> Get-Help -Name Get-Process

Như đã đề cập trước trong hướng dẫn này, Microsoft có một số hạn chế nhất định ngăn chặn chính sách thực thi scripts trên PowerShell trừ khi bạn thay đổi nó. Khi thiết lập chính sách thực thi, bạn có bốn tùy chọn để lựa chọn:

  • Restricted – Mặc định chính sách thực thi ngăn chặn scripts hoạt động.
  • All Signed – Sẽ chạy scripts nào được xác nhận bởi người dùng.
  • Remote Signed – cho phép chạy scripts được tạo ra trong local.
  • Unrestricted – Không ngăn chặn.
PS C:> Get-ExecutionPolicy

Nếu bạn đang sử dụng PowerShell, không phải lúc nào bạn cũng có thể làm việc trên máy chủ mà bạn quen thuộc. Chạy lệnh Get-Execution Policy – Chính sách sẽ cho phép bạn xem chính sách đang hoạt động trên máy chủ trước khi chạy một script mới. Nếu bạn sau đó nhìn thấy máy chủ trong câu hỏi hoạt động theo một chính sách Restricted – hạn chế, thì bạn có thể thực hiện lệnh Set-ExecutionPolicy để thay đổi lại.

Get-Service

Một trong những lệnh quan trọng nhất là Get-Service, cung cấp cho người dùng danh sách tất cả các dịch vụ được cài đặt trên hệ thống, cả đang chạy và dừng. Lệnh ghép ngắn này có thể được hướng dẫn bằng cách sử dụng tên dịch vụ hoặc đối tượng cụ thể.

Ví dụ, nếu bạn đã gõ PS C:> Get-Service, bạn sẽ được hiển thị một danh sách tất cả các dịch vụ trên máy tính của bạn, tên & trạng thái của dịch vụ.

Sử dụng lệnh này để lấy các dịch vụ cụ thể, gõ: PS C: Get-Service “WMI*” để lấy tất cả các dịch vụ bắt đầu bằng WMI.

Nếu bạn muốn hạn chế đầu ra cho các dịch vụ đang hoạt động trên máy tính của bạn, hãy nhập lệnh sau:

PS C:\ Get-Service | Where-Object {$_.Status -eq “Running”}

ConvertTo-HTML

Khi sử dụng PowerShell, bạn có thể muốn “tạo báo cáo” về thông tin bạn đã xem. Một trong những cách tốt nhất là sử dụng lệnh ConvertTo-HTML. Lệnh ghép ngắn này cho phép bạn xây dựng báo cáo với bảng và màu sắc, có thể giúp trực quan hóa dữ liệu phức tạp. Đơn giản chỉ cần chọn một đối tượng và thêm nó vào lệnh. Ví dụ: bạn có thể nhập:

Get-PSDrive | ConvertTo-Html

Điều này trả về một khối lượng thông tin, vì vậy bạn nên giới hạn nó vào một tệp có lệnh Out-File. Một lệnh thay thế tốt hơn là:

Get-PSD Drive | ConvertTo-Html | Out-File -FilePath PSDrives.html

Export-CSV (and Get-Service)

Không kém phần quan trọng để tăng khả năng hiển thị là lệnh Export-CSV. Nó cho phép bạn xuất dữ liệu PowerShell vào tệp CSV. Về cơ bản, lệnh này tạo ra một tệp CSV biên dịch tất cả các đối tượng bạn đã chọn trong PowerShell. Mỗi đối tượng có dòng hoặc hàng riêng trong tệp CSV. Lệnh này chủ yếu được sử dụng để tạo bảng tính và chia sẻ dữ liệu với các chương trình bên ngoài.

Để sử dụng lệnh này, bạn sẽ gõ:

PS C:> Get-Service | Export-CSV c:\service.csv

Điều quan trọng cần nhớ là không định dạng đối tượng trước khi chạy lệnh xuất CSV là Export-CSV. Điều này là do định dạng các  objects – đối tượng chỉ theo định dạng tập tin CSV chứ không phải là các định dạng ban đầu của đối tượng. Trong trường hợp bạn muốn gửi thuộc tính cụ thể của một đối tượng đến một tập tin CSV, bạn sẽ sử dụng lệnh Select-Object.

Để sử dụng lệnh Select-Object cmdlet, hãy nhập:

PS C:> Get-Service | Select-Object Name, Status | Export-CSV
c:\Service.csv

Get-Process

Nếu bạn muốn xem tất cả các quá trình hiện đang chạy trên hệ thống của bạn, lệnh Get-Process là rất quan trọng. Để có danh sách tất cả các quy trình hiện hoạt trên máy tính của bạn, hãy nhập:

PS C:\ Get-Process

Lưu ý rằng nếu bạn không chỉ định bất kỳ thông số nào, bạn sẽ nhận được bảng phân tích về mọi quy trình đang hoạt động trên máy tính của mình. Để chọn một quy trình cụ thể, hãy thu hẹp kết quả theo tên quy trình hoặc ID quy trình và kết hợp với lệnh Format-List, hiển thị tất cả các thuộc tính có sẵn. Ví dụ:

PS C:\ Get-Process windowrd, explorer | Format-List *

Get-EventLog

Nếu bạn muốn truy cập nhật ký sự kiện của máy tính (hoặc ghi nhật ký trên máy tính từ xa) trong khi sử dụng PowerShell, thì bạn sẽ cần lệnh Get-EventLog. Lệnh này chỉ hoạt động trên classic event logs, vì vậy bạn sẽ cần lệnh Get-WinEvent cho các bản ghi logs từ sau Windows Vista.Để chạy lệnh event log, hãy nhập:

PS C:> Get-EventLog -List

Điều này sẽ hiển thị tất cả event log trên máy tính của bạn.

Một trong những lý do phổ biến nhất khiến người dùng xem event logs là để xem lỗi. Nếu bạn muốn xem các sự kiện lỗi trong nhật ký của mình, chỉ cần nhập.

PS C:> Get-EventLog -LogName System -EntryType Error

Nếu bạn muốn nhận nhật ký sự kiện từ nhiều máy tính, hãy chỉ định thiết bị bạn muốn xem (được liệt kê dưới đây là “Server1” và “Server2”). Ví dụ:

PS C:> Get-EventLog – LogName “Windows PowerShell” -ComputerName “local computer”, “Server1”, “Server2”.

Các thông số bạn có thể sử dụng để tìm kiếm event logs bao gồm:

  • After – chỉ định ngày giờ  và lệnh sẽ xác định vị trí events xảy ra sau đó.
  • AsBaseObject – cung cấp a System.Diagnostics.EventLogEntry cho mỗi event
  • AsString – trả về output dạng chuỗi strings
  • Before – chỉ định ngày giờ  và lệnh sẽ xác định vị trí events xảy ra trước đó.
  • ComputerName – thường để chị remote computer.
  • EntryType – xác định entry-type của events (Error, Failure Audit, Success Audit, Information, Warning)
  • Index – xác định index values, mà lệnh có thể tìm thấy được từ event.
  • List – cung cấp danh sách event logs
  • UserName – xác định usernames liên quan đến event

Stop-Process

Khi sử dụng PowerShell, không có gì lạ khi thấy một quá trình treo. Bất cứ khi nào điều này xảy ra, bạn có thể sử dụng Get-Process để xem tên của quá trình gặp khó khăn và sau đó dừng nó với lệnh Stop-Process. Nói chung, bạn chấm dứt một quá trình theo tên của nó. Ví dụ:

PS C:> Stop-Process -Name “notepad”

Trong ví dụ này, đã chấm dứt Notepad bằng cách sử dụng lệnh Stop-Process.

Tóm lại, PowerShell là một chương trình dòng lệnh thay thế cho CMD (Dấu nhắc lệnh được viết tắt là Command Prompt). Hy vọng với những thông tin được chia sẻ qua bài viết sẽ giúp bạn hiểu rõ hơn về công cụ cũng như cách sử dụng PowerShell. Để tham khảo thêm nhiều kiến thức hữu ích về PowerShell bạn có thể truy cập vào https://hoanghapc.vn/ nhé. 

Tôi là Mai Văn Học - Reviewer chuyên về công nghệ tại Hoanghapc.vn. Tôi có hơn 7 năm kinh nghiệm làm việc trong lĩnh vực máy tính, laptop. Với kiến thức sâu rộng và kinh nghiệm phong phú về công nghệ, tôi luôn mang đến cho người dùng những đánh giá chi tiết, toàn diện về tính năng, hiệu suất và giá trị của các sản phẩm máy tính và công nghệ.

Bài viết mới nhất

Bài viết được xem nhiều

Sản phẩm khuyến mãi

popup
Chat Facebook (8h00 - 20h00)
Chat Zalo (8h00 - 20h00)
0969.123.666 (8h00 - 20h00)