PowerShell là gì? Cách sử dụng và so sánh với Command Prompt

Có lẽ rất nhiều người đã biết về thuật ngữ Command Prompt, tuy nhiên lại chưa biết PowerShell là gì? Nếu bạn đang cần tìm một công cụ có thể thay thể Command Prompt và sở hữu nhiều tính năng đỉnh cao hơn thì hãy cùng LANIT tìm hiểu về PowerShell ngay trong bài viết sau đây.

PowerShell là gì?

PowerShell hay Windows PowerShell là công cụ tự động hóa mạnh mẽ của Microsoft. Công cụ kết hợp giữa giao diện dòng lệnh và ngôn ngữ kịch bản. Ra đời vào năm 2006 dưới tên gọi Monad, PowerShell đã chiếm vai trò thiết yếu đối với quản trị viên và nhà phát triển.

PowerShell giúp người dùng quản lý hệ thống máy tính và các đối tượng trong đó thông qua một ngôn ngữ lập trình duy nhất. Đồng thời tích hợp chặt chẽ với .NET Framework. Công cụ này hỗ trợ tự động hóa các tác vụ quản lý, từ cấu hình dịch vụ như Exchange Server đến quản lý tài nguyên trong Active Directory. Với phiên bản mã nguồn mở, PowerShell giờ đây có thể chạy trên cả Linux và Unix, sử dụng cho nhiều nền tảng hơn.

PowerShell là gì?
PowerShell là gì?

Ví dụ về PowerShell

Ví dụ bạn muốn kiểm tra thông tin hệ thống hay cấu hình máy tính, bạn có thể áp dụng lệnh sau:

Get-ComputerInfo

Khi sử dụng lệnh này, bạn sẽ được cung cấp thông tin chi tiết về hệ điều hành, bộ xử lý, bộ nhớ, và các cấu hình phần cứng khác.

>>> Xem thêm: Microsoft Access dùng để làm gì?

Cmdlets và Module trong PowerShell

Để hiểu rõ hơn PowerShell là gì, LANIT sẽ giới thiệu bạn 3 khái niệm cơ bản nhất. Thứ nhất:

Công cụ PowerShell

Công cụ PowerShell có sẵn trên Windows 10, Win 7, Win Server 2008 R2 và các phiên bản Windows mới hơn. Phiên bản mới nhất, WMF 5.1, mang đến nhiều tính năng và lệnh (cmdlets) hữu ích. Tuy nhiên, một số cmdlet chỉ hoạt động trên các hệ điều hành nhất định. Ví dụ, cmdlet Test-NetConnection chỉ có trên Windows 8 trở lên, không hoạt động trên Win 7, dù đã cài đặt WMF mới nhất.

Trên hầu hết các hệ thống, PowerShell có hai môi trường: bảng điều khiển PowerShell và PowerShell ISE (Môi trường tập lệnh tích hợp). Bảng điều khiển giống như dòng lệnh, nhưng bạn sẽ có nhiều tính năng mạnh mẽ hơn, như tự động hoàn thành lệnh và piping. Còn PowerShell ISE giúp bạn xây dựng và kiểm tra các tập lệnh dễ dàng hơn. Gồm các tính năng như highlight code và tự động hoàn thành thông minh. Bạn thể làm việc với nhiều tập lệnh cùng lúc vì được điều hướng qua các tab.

Công cụ PowerShell
Công cụ PowerShell

Lệnh (cmdlets) PowerShell

PowerShell sử dụng cmdlet, một loại lệnh đặc trưng. Cú pháp tiêu chuẩn “Verb-Noun” (Động từ – Danh từ), giúp dễ dàng hiểu và sử dụng.

Ví dụ, trong lệnh Get-Service (lấy dịch vụ), Stop-Service (dừng dịch vụ), hay Import-Csv (nhập dữ liệu từ CSV), động từ chỉ hành động được thực hiện trên danh từ. Các cmdlet thường bắt đầu với Get để lấy thông tin, Set để chỉnh sửa, Add hoặc New để tạo mới. Tham số trong PowerShell cũng được đặt theo quy chuẩn. Như -ComputerName cho phép chạy lệnh trên máy tính từ xa, hay -Credential để cung cấp thông tin đăng nhập người dùng.

Module PowerShell là gì?

PowerShell cho phép sử dụng alias (bí danh) để rút ngắn lệnh và tiết kiệm thời gian. Đặc biệt khi kết hợp nhiều lệnh. Mặc dù alias không phải lúc nào cũng tuân theo quy ước tên chuẩn, chúng vẫn phản ánh dòng lệnh truyền thống.

Ví dụ, DIR, CD, DEL, và CLS tương ứng với Get-ChildItem, Set-Location, Remove-Item, và Clear-Host. Tham số cũng có alias, có thể là alias mặc định của cmdlet hoặc tự tạo khi đủ ký tự để khớp.

Tổng hợp câu lệnh của PowerShell Commands

Hãy theo dõi bảng tổng hợp các câu lệnh của PowerShell dưới đây:

Câu lệnhBí danhMô tả
Set-Locationcd, chdir, slThay đổi thư mục làm việc hiện tại.
Copy-Itemcopy, cp, cpiSao chép một mục từ nơi này sang nơi khác.
Get-Contentcat, gc, typeLấy nội dung của một đối tượng tại đường dẫn chỉ định.
Set-ContentscGhi đè hoặc thay thế nội dung của mục với dữ liệu mới.
Move-Itemmi, move, mvDi chuyển mục đến vị trí mới.
Add-ContentacThêm dữ liệu vào một mục, ví dụ như thêm văn bản vào file.
Copy-Itemcopy, cp, cpiSao chép một mục từ nơi này sang nơi khác.
Remove-Itemdel, erase, rd, ri, rmXóa các mục chỉ định.
New-ItemniTạo một mục mới trong hệ thống.
Compare-Objectcompare, difSo sánh hai tập hợp đối tượng.
Measure-ObjectmeasureTính toán các đặc tính số của đối tượng.
Invoke-WebRequestcurl, iwr, wgetLấy dữ liệu từ một website.
Move-Itemmi, move, mvDi chuyển mục đến vị trí mới.
Group-ObjectgroupNhóm các đối tượng có giá trị tương tự.
Resolve-PathrvpaXử lý ký tự đại diện trong đường dẫn.
Start-JobsajbKhởi động một công việc nền.
Set-ItemsiCập nhật giá trị của một mục đã có.
Sort-ObjectsortSắp xếp đối tượng theo thuộc tính.
Set-Variableset, svThiết lập giá trị cho biến; tạo mới nếu chưa có.
Start-ServicesasvKhởi động một hoặc nhiều dịch vụ đã dừng.
Resume-JobrujbTiếp tục một công việc bị tạm dừng.
Show-CommandshcmTạo lệnh PowerShell trong cửa sổ đồ họa
Wait-JobwjbChờ cho đến khi một công việc nền hoàn thành.
Suspend-JobsujbTạm dừng công việc quy trình.
Write-Outputecho, writeGửi dữ liệu đến lệnh tiếp theo trong pipeline.
Where-Object?, whereLọc các đối tượng theo thuộc tính.
Start-Processsaps, startMở một hoặc nhiều tiến trình trên máy tính.

>>> Xem thêm: 9 Công Cụ Quản Lý Từ Xa Tốt Nhất

Hướng dẫn sử dụng PowerShell

Trước khi sử dụng, chúng ta sẽ cần cài đặt công cụ

Hệ điều hành Windows

Hiện nay đối với các phiên bản Win mới nhất thì sẽ được cài đặt sẵn PowerShell. Tuy nhiên nếu bạn chưa có thì có thể truy cập Microsoft Store hoặc truy cập website Microsoft để tải PowerShell.

Trong giao diện Microsoft Store có thanh công cụ tìm kiếm. Nhập “PowerShell” là sẽ ra thông tin.

Cài đặt PowerShell
Cài đặt PowerShell

Hệ điều hành MacOS và Linux

Các gói cài đặt như APT (Ubuntu), Homebrew (MacOS) thường tích hợp sẵn PowerShell. Do đó người dùng có thể mở Terminal, chạy lệnh cài đặt

Trên MacOS, dùng lệnh: brew install - cask powershell

Sau khi cài đặt thành công, khởi chạy tiện ích bằng lệnh pwsh trên Terminal.

Cấu hình PowerShell cơ bản

Khi mở PowerShell, người dùng có thể dễ dàng tùy chỉnh các thiết lập cơ bản như kích thước cửa sổ, màu nền, và kiểu chữ. Mở menu “Properties” bằng cách nhấn chuột phải vào thanh tiêu đề của cửa sổ. Những tùy chỉnh này giúp người dùng tạo ra một môi trường làm việc phù hợp với sở thích cá nhân.

Bên cạnh đó, người dùng còn có thể điều chỉnh các thuộc tính khác như độ mờ cửa sổ, chiều rộng thanh cuộn, hay lựa chọn phông chữ. Những thay đổi này không chỉ làm cho giao diện thân thiện hơn mà còn giúp cải thiện hiệu quả công việc.

Cấu hình PowerShell cơ bản
Cấu hình PowerShell cơ bản

Hướng dẫn tạo Profile

PowerShell cho phép tạo “profile” – một script tự động chạy khi mở PowerShell. Profile có thể chứa các lệnh cấu hình, alias cho các lệnh thường dùng, hoặc tự động tải module cần thiết.

Để tạo hoặc chỉnh sửa profile, chỉ cần dùng lệnh

notepad $PROFILE

Cài Modules, Scripts

PowerShell cho phép cài đặt các module bổ sung để mở rộng tính năng, thông qua lệnh từ PowerShell Gallery

Install-Module

Tuy nhiên, cần cẩn trọng khi cài đặt script từ nguồn không đáng tin cậy để bảo vệ hệ thống. Để tăng cường tự động hóa, người dùng có thể viết các script PowerShell. Nhằm thực hiện các nhiệm vụ lặp đi lặp lại, từ đó tiết kiệm thời gian và nâng cao hiệu quả công việc.

Vì sao nên sử dụng PowerShell?

PowerShell không chỉ là công cụ quản lý hệ thống mạnh mẽ mà còn là giải pháp tối ưu cho tự động hóa các tác vụ IT phức tạp. Nó giúp tiết kiệm thời gian và công sức trong việc quản lý cơ sở hạ tầng IT, từ cài đặt phần mềm, quản lý tài khoản người dùng, đến giám sát và phân tích dữ liệu hệ thống.

Với khả năng tự động hóa quy trình, PowerShell giảm thiểu lỗi do con người và tăng năng suất công việc. Công cụ này hỗ trợ quản trị viên trong việc triển khai bảo mật, quản lý cấu hình hệ thống và tối ưu hóa quy trình. Đặc biệt, PowerShell còn hỗ trợ đa nền tảng (Windows, Linux, macOS), mang lại sự linh hoạt ở nhiều môi trường làm việc. Với cộng đồng lớn và khả năng tùy chỉnh cao, PowerShell giúp mở rộng khả năng sáng tạo trong quản lý và giải pháp IT.

Vì sao nên sử dụng PowerShell?
Vì sao nên sử dụng PowerShell?

Ứng dụng thực tế của PowerShell là gì?

PowerShell được ứng dụng trong nhiều tác vụ, có thể kể đến như:

  • Quản lý người dùng và nhóm: Tạo, sửa đổi, xóa tài khoản người dùng trong Active Directory, như New-ADUser, Get-ADUser.
  • Tự động hóa sao lưu và phục hồi dữ liệu: Tự động sao lưu các thư mục quan trọng và phục hồi khi cần thiết. Ví dụ: Sử dụng lệnh Backup-SqlDatabase để sao lưu cơ sở dữ liệu SQL Server hàng tuần.
  • Quản lý dịch vụ và tiến trình: Kiểm tra, khởi động, hoặc dừng các dịch vụ hệ thống như

Get-Service, Start-Service, Stop-Service

  • Cấu hình và quản lý hệ thống: Cấu hình hệ thống, cập nhật phần mềm và kiểm tra thông tin cấu hình hệ thống. Sử dụng Get-WindowsFeature để kiểm tra các tính năng đã cài đặt trên Windows Server.
  • Giám sát và phân tích hệ thống: Phân tích log hệ thống và giám sát hiệu suất. Ví dụ: Dùng Get-EventLog để kiểm tra các lỗi hệ thống trong sự kiện log.
Ứng dụng thực tế của PowerShell là gì?
Ứng dụng thực tế của PowerShell là gì?

Điểm khác biệt giữa Command Prompt và PowerShell là gì?

Bảng so sánh dưới đây sẽ cho bạn biết vì sao PowerShell lại được coi là bản nâng cấp và ưu ái hơn so với Command Prompt:

Tiêu chíCommand Prompt (CMD)PowerShell
Mục đíchCông cụ dòng lệnh cơ bản dành cho người dùng Windows.Công cụ quản lý hệ thống mạnh mẽ, hỗ trợ tự động hóa và scripting.
Ngôn ngữDựa trên các lệnh DOS cổ điển, cú pháp đơn giản.Dựa trên ngôn ngữ lập trình .NET, hỗ trợ các cmdlet và scripting phức tạp.
Tính linh hoạtÍt linh hoạt, chủ yếu dùng để thực hiện các lệnh đơn giản.Rất linh hoạt, cho phép tự động hóa các tác vụ phức tạp với các cmdlet và script.
Hỗ trợ đối tượngLàm việc với văn bản, không hỗ trợ đối tượng.Làm việc với đối tượng .NET, có thể xử lý dữ liệu phức tạp.
Nền tảngChỉ có trên hệ điều hành WindowsĐa nền tảng, có thể chạy trên Windows, Linux, và macOS
Khả năng quản lý từ xaKhông hỗ trợ quản lý từ xaHỗ trợ quản lý từ xa với PowerShell Remoting và các công cụ khác

>>> Xem thêm: 5+ Phần Mềm, Công Cụ Quản Lý Server

Các tham số trong PowerShell

Cmdlet trong PowerShell có thể nhận tham số để thay đổi cách thức thực thi lệnh. Khi chạy một Cmdlet, bạn có thể cung cấp tham số để xác định đối tượng hoặc điều chỉnh hành vi của lệnh.

Ví dụ: Lệnh Get-Service liệt kê tất cả các dịch vụ đang chạy trên hệ thống. Tuy nhiên, nếu bạn chỉ muốn xem trạng thái của dịch vụ “wuauserv” (dịch vụ Windows Update), bạn có thể dùng lệnh Get-Service -Name wuauserv. Ngoài ra, bạn cũng có thể chỉ cần viết Get-Service wuauserv mà không cần chỉ rõ tên tham số, kết quả vẫn tương tự như vậy.

Một số Cmdlet cho phép sử dụng tham số “vị trí”, bỏ qua được tên tham số. Để tìm hiểu về các tham số, bạn có thể dùng Get-Help Get-Process. Cú pháp tham số có các ký hiệu như:

  • Trống: Tham số không yêu cầu đầu vào.
  • -: Chỉ tên tham số.
  • <>: Trình giữ chỗ cho giá trị văn bản.
  • []: Tham số chấp nhận một hoặc nhiều giá trị.
  • {}: Tham số yêu cầu một tập hợp giá trị.

Mỗi tham số yêu cầu kiểu dữ liệu riêng. Ví dụ -Name nhận giá trị chuỗi, còn -Id nhận giá trị số nguyên. Để lọc kết quả theo ID, bạn có thể dùng Get-Process -Id 3016 để chỉ xem tiến trình có ID 3016.

Các tham số trong PowerShell
Các tham số trong PowerShell

Tìm tài liệu học tập của PowerShell ở đâu?

Nếu bạn mới bắt đầu với PowerShell, mình nghĩ bạn nên bắt đầu từ những tài nguyên chính thức của Microsoft. Các bài viết trên Microsoft Docs for PowerShell là nguồn tài liệu cực kỳ chi tiết, từ cơ bản đến nâng cao, giúp bạn nắm vững cách thức hoạt động của PowerShell.

Ngoài ra, Microsoft Learn cũng là một nơi tuyệt vời để tìm các khóa học miễn phí và dễ hiểu. Những khóa học này thường đi kèm với bài tập thực hành, giúp bạn áp dụng ngay những gì học được.

Mình cũng rất recommend các cuốn sách như “Learn Windows PowerShell in a Month of Lunches” hoặc “Windows PowerShell Cookbook”. Cả hai đều rất dễ tiếp cận và cung cấp những ví dụ thực tế, giúp bạn hiểu sâu hơn về PowerShell.

Với mình, cách học hiệu quả nhất là không chỉ đọc lý thuyết mà còn phải thực hành ngay lập tức. Đừng ngại thử nghiệm và chạy các lệnh trên máy của mình – nếu gặp vấn đề, tài liệu luôn có sẵn để giúp bạn tìm ra giải pháp!

Tìm tài liệu học tập của PowerShell ở đâu?
Tìm tài liệu học tập của PowerShell ở đâu?

Câu hỏi thường gặp

PowerShell có thể tự động hóa các tác vụ gì?

PowerShell có thể tự động hóa nhiều tác vụ như sao lưu dữ liệu, quản lý người dùng trong Active Directory. Ngoài ra còn cài đặt phần mềm, kiểm tra trạng thái hệ thống, và quản lý dịch vụ mạng.

Làm sao để biết các tham số và cú pháp của một Cmdlet?

Bạn có thể sử dụng lệnh Get-Help <CmdletName> để biết thêm về cú pháp và tham số của một Cmdlet. Ví dụ: Get-Help Get-Process sẽ cung cấp thông tin chi tiết về cách sử dụng lệnh Get-Process.

PowerShell có thể được dùng để quản lý VPS và server không?

Có. PowerShell rất mạnh mẽ trong việc quản lý máy chủ từ xa. Bạn có thể sử dụng lệnh như Enter-PSSession để kết nối với server từ xa. Đồng thời thực hiện các tác vụ như cài đặt phần mềm, quản lý tài nguyên, hoặc kiểm tra trạng thái hệ thống.

Lời kết

Với toàn bộ thông tin trên, LANIT tin rằng bạn đã quá rõ PowerShell là gì cũng như những điều cần biết về công cụ này. Nếu bạn muốn nghiên cứu thêm về PowerShell thì LANIT cũng đã cung cấp các tài liệu cần thiết. Bạn còn điều gì thắc mắc hãy để lại bình luận để được hỗ trợ nhanh nhất nhé!

LANIT – Nhà cung cấp VPS – Hosting – Server hàng đầu tại Việt Nam!

Mọi người cùng tìm hiểu:

VPS là gì? Ai nên sử dụng VPS?

Server Game là gì?

Gợi Ý 10 Đơn Vị VPS Uy Tín 2024

Nguyễn Đức Hòa

Xin chào, mình là Nguyễn Đức Hoà, hiện đang đảm nhận vị trí Trưởng phòng kỹ thuật tại LANIT. Với 8 năm kinh nghiệm trong mảng System, Network , Security; mình luôn hướng đến việc tìm kiếm và áp dụng các giải pháp kỹ thuật tiên tiến nhất cho mọi dự án. Công việc của mình không chỉ dừng lại ở việc quản lý mà còn mang đến cho khách hàng những giải pháp lưu trữ dữ liệu tốt nhất hiện nay. Rất hy vọng những kinh nghiệm và chia sẻ của mình sẽ mang lại nhiều giá trị hữu ích cho các bạn.

Chat với chúng tôi qua Zalo!
Chat với chúng tôi qua Zalo!