PowerShell là gì? Tổng hợp kiến thức PowerShell trên Windows

PowerShell là gì? PowerShell là công cụ mạnh mẽ cho quản trị hệ thống trên Windows. Tìm hiểu kiến thức cơ bản đến nâng cao về PowerShell ngay sau đây nhé.

Nếu sử dụng Windows chắc hẳn bạn đã nghe nói tới PowerShell. Với PowerShell, bạn có thể thực hiện từ những tác vụ đơn giản như quản lý tệp và thư mục cho đến các nhiệm vụ phức tạp như tự động hóa quy trình quản lý hệ thống và triển khai ứng dụng. Bài viết này sẽ giúp bạn hiểu rõ PowerShell là gì, cung cấp tổng hợp kiến thức từ cơ bản đến nâng cao và cách ứng dụng PowerShell trong môi trường Windows.

1. PowerShell là gì?

PowerShell là một nền tảng quản lý cấu hình và tự động hóa tác vụ của Microsoft. PowerShell kết hợp một giao diện dòng lệnh mạnh mẽ và ngôn ngữ với cú pháp dựa trên .NET Framework, cho phép người dùng thực hiện và tự động hóa các tác vụ quản trị hệ thống phức tạp một cách hiệu quả. PowerShell ban đầu được phát triển dưới tên mã "Monad" và được phát hành chính thức dưới tên PowerShell vào năm 2006. Từ đó, PowerShell đã trải qua nhiều phiên bản cải tiến, bao gồm cả việc mở rộng sang các hệ điều hành khác ngoài Windows với phiên bản PowerShell Core và sau đó hợp nhất thành PowerShell 7.

PowerShell cung cấp khả năng tự động hóa mạnh mẽ, cho phép các quản trị viên thực hiện các tác vụ phức tạp một cách nhất quán và chính xác. Điều này không chỉ giúp tiết kiệm thời gian mà còn giảm thiểu sai sót do thao tác thủ công. Ngoài ra, PowerShell có khả năng tích hợp với nhiều dịch vụ và ứng dụng khác của Microsoft như: Azure, Active Directory và Exchange Server tạo nên một hệ sinh thái quản trị toàn diện.

PowerShell là gì?

2. PowerShell hoạt động như thế nào?

PowerShell hoạt động bằng cách sử dụng các cmdlets (viết tắt của command-lets), là các lệnh được xây dựng đặc biệt để thực hiện các tác vụ cụ thể trong môi trường PowerShell. Cmdlets có thể được kết hợp với nhau bằng cách sử dụng pipeline để tạo ra các chuỗi lệnh phức tạp hơn.

3. Kiến trúc của PowerShell là gì?

PowerShell bao gồm các thành phần chính như sau:

  • Command-Line Shell: Một môi trường dòng lệnh mạnh mẽ.
  • Scripting Language: Một ngôn ngữ kịch bản dựa trên .NET.
  • Cmdlets: Các lệnh nhỏ gọn và chuyên dụng.
  • Providers: Cho phép truy cập vào các kho dữ liệu khác nhau như hệ thống tệp, registry.
  • Pipeline: Cho phép kết nối các cmdlets lại với nhau để thực hiện các tác vụ phức tạp.
Kiến trúc của PowerShell là gì?

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

Cài đặt PowerShell trên Windows

PowerShell thường được cài đặt sẵn trên các phiên bản Windows hiện đại. Tuy nhiên, bạn có thể cài đặt hoặc nâng cấp lên phiên bản mới nhất từ trang web chính thức của Microsoft hoặc qua Microsoft Store.

Khởi động PowerShell và giao diện người dùng

Để khởi động PowerShell, bạn có thể tìm kiếm "PowerShell" trong menu Start và chọn "Windows PowerShell" hoặc "PowerShell 7" nếu bạn đã cài đặt phiên bản mới nhất. Giao diện của PowerShell là một cửa sổ dòng lệnh, nơi bạn có thể nhập và thực thi các lệnh.

Khởi động PowerShell

Các lệnh cơ bản và cách sử dụng chúng

Một số lệnh cơ bản trong PowerShell bao gồm:

  • Get-Help: Cung cấp trợ giúp về các lệnh PowerShell.
  • Get-Command: Liệt kê tất cả các cmdlets, hàm, alias, và ứng dụng có sẵn.
  • Get-Process: Hiển thị danh sách các tiến trình đang chạy trên hệ thống.
  • Set-ExecutionPolicy: Đặt chính sách thực thi cho PowerShell scripts.

Ví dụ, để nhận trợ giúp về một cmdlet cụ thể, bạn có thể sử dụng lệnh Get-Help, ví dụ: Get-Help Get-Process.

5. Giới thiệu công cụ, lệnh và mô-đun của PowerShell

PowerShell cung cấp một loạt các công cụ và lệnh giúp quản trị hệ thống một cách hiệu quả. Các lệnh này được gọi là cmdlets và được thiết kế để thực hiện các tác vụ quản trị cụ thể.

Sử dụng PowerShell

Cách tìm kiếm và cài đặt các mô-đun PowerShell

Mô-đun trong PowerShell là tập hợp các cmdlets, hàm và tài nguyên khác. Bạn có thể tìm kiếm và cài đặt các mô-đun từ PowerShell Gallery bằng cách sử dụng các lệnh như Find-Module và Install-Module.

Find-Module -Name Az

Install-Module -Name Az -Scope CurrentUser

Cmdlets trong PowerShell

Cmdlets là các lệnh nhỏ gọn được thiết kế để thực hiện các tác vụ cụ thể trong PowerShell. Chúng thường có dạng Verb-Noun, ví dụ như Get-Process hay Set-Item.

Cmdlets có thể được sử dụng để thực hiện nhiều tác vụ quản trị khác nhau, từ quản lý tệp và thư mục, cấu hình mạng, đến quản lý người dùng và nhóm.

Get-Service -Name "wuauserv"

Restart-Service -Name "wuauserv"

Một số cmdlets thông dụng bao gồm:

  • Get-Service: Liệt kê các dịch vụ đang chạy.
  • Start-Service: Khởi động một dịch vụ.
  • Stop-Service: Dừng một dịch vụ.
  • Restart-Service: Khởi động lại một dịch vụ.

Module trong PowerShell

Module là tập hợp các cmdlets, hàm và biến mà bạn có thể cài đặt và sử dụng trong PowerShell để mở rộng chức năng của nó.

Bạn có thể cài đặt module từ PowerShell Gallery hoặc các nguồn khác. Các lệnh Install-Module và Import-Module được sử dụng để cài đặt và nạp module.

Install-Module -Name Pester -Scope CurrentUser

Import-Module -Name Pester

Một số module phổ biến bao gồm:

  • AzureRM và Az: Quản lý các dịch vụ Azure.
  • ActiveDirectory: Quản lý Active Directory.
  • Pester: Viết và chạy các bài kiểm tra tự động cho script PowerShell.

6. Một số ví dụ về PowerShell 

Xem danh sách 3 tiến trình sử dụng nhiều RAM và CPU nhất trên máy tính của bạn bằng PowerShell.

# Lấy danh sách 3 tiến trình sử dụng nhiều CPU nhất

$cpuProcesses = Get-Process | Sort-Object -Property CPU -Descending | Select-Object -First 3

# Lấy danh sách 3 tiến trình sử dụng nhiều RAM nhất

$ramProcesses = Get-Process | Sort-Object -Property WorkingSet -Descending | Select-Object -First 3

# Xuất thông tin các tiến trình ra màn hình

Write-Output "Top 3 CPU Processes:"

$cpuProcesses | Format-Table -AutoSize

Write-Output "Top 3 RAM Processes:"

$ramProcesses | Format-Table -AutoSize

Xem kết quả

Kết luận

Đến đây chắc hẳn bạn đã hiểu rõ PowerShell là gì cũng như đặc điểm của nó. PowerShell là một công cụ quản trị và tự động hóa mạnh mẽ, giúp quản trị viên hệ thống và nhà phát triển tiết kiệm thời gian, tăng hiệu suất công việc. Với khả năng mở rộng qua các module và hỗ trợ mạnh mẽ từ cộng đồng, PowerShell chắc chắn là một công cụ đáng để khám phá và sử dụng trong quản trị hệ thống hiện đại.

Tác giả:
author avatar
Mình là Huy, hiện mình đang là kỹ sư hệ thống tại SunCloud. Mình có nhiều năm kinh nghiệm, kiến thức chuyên môn về mạng, hệ thống, điện toán mây và an ninh bảo mật. Mình đã triển khai và vận hành rất nhiều dự án thực tế cho doanh nghiệp, cơ quan. Mình đã đạt được một số chứng chỉ quốc tế như CCNP, LPI, VCP, đồng thời mình vẫn đang tiếp tục học tập để trau dồi kiến thức mỗi ngày. Mình rất yêu thích công nghệ, đam mê chia sẻ những kiến thức, thông tin hữu ích cho mọi người.

Tin tức nổi bật
Tin tức khác