Tổng hợp lệnh PowerShell thiết yếu cho quản trị hệ thống Windows

17:11 | 03/12/2025

PowerShell là công cụ dòng lệnh và ngôn ngữ kịch bản mạnh mẽ được Microsoft phát triển, giúp các quản trị viên hệ thống (System Admin) tự động hóa và quản lý hệ thống Windows hiệu quả hơn. Thay vì thao tác thủ công qua giao diện đồ họa, PowerShell cho phép bạn thực hiện hàng loạt tác vụ phức tạp chỉ với vài dòng lệnh. Bài viết dưới đây tổng hợp những lệnh PowerShell quan trọng nhất đã được thực hiện trong thực tế quản trị hệ thống.

Thủ thuật tăng tốc và tối ưu hiệu năng Windows 11 Thủ thuật tăng tốc và tối ưu hiệu năng Windows 11
Hướng dẫn tải và cài đặt Windows 11 Hướng dẫn tải và cài đặt Windows 11
Cách khắc phục lỗi TPM 2.0 khi cài đặt Windows 11 Cách khắc phục lỗi TPM 2.0 khi cài đặt Windows 11
Tổng hợp lệnh PowerShell thiết yếu cho quản trị hệ thống Windows

Tại sao System Admin cần PowerShell?

PowerShell không chỉ là một công cụ dòng lệnh đơn thuần mà còn là nền tảng tự động hóa toàn diện cho hệ sinh thái Windows. Các lợi ích chính bao gồm:

  • Tiết kiệm thời gian: Một lệnh PowerShell có thể thay thế hàng chục thao tác click chuột.
  • Tự động hóa quy trình: Viết script một lần, tái sử dụng vô số lần cho các tác vụ lặp đi lặp lại.
  • Quản lý từ xa: Điều khiển nhiều máy chủ đồng thời mà không cần truy cập vật lý
  • Xử lý sự cố nhanh chóng: Truy xuất log, kiểm tra dịch vụ và xác định nguyên nhân lỗi nhanh chóng.
  • Tích hợp sâu với Windows: Truy cập trực tiếp vào các API và thành phần hệ thống cấp thấp.

Tổng hợp một số lệnh PowerShell thường dùng trên Windows

1. Kiểm tra thông tin hệ thống

Lệnh Get-ComputerInfo

powershell

Get-ComputerInfo

Tổng hợp lệnh PowerShell thiết yếu cho quản trị hệ thống Windows

Mục đích: Lệnh này truy xuất và hiển thị toàn bộ thông tin chi tiết về cấu hình phần cứng và phần mềm của máy tính.

Thông tin được hiển thị:

  • Tên máy tính và domain
  • Phiên bản hệ điều hành Windows (OS Build, Version)
  • Thông tin BIOS/UEFI (nhà sản xuất, phiên bản firmware)
  • Thông số CPU (tên, số nhân, tốc độ xung nhịp)
  • Dung lượng RAM vật lý và khả dụng
  • Thông tin múi giờ và ngôn ngữ hệ thống

Ứng dụng thực tế:

  • Kiểm tra nhanh cấu hình máy trước khi cài đặt phần mềm
  • Lập danh sách kiểm kê tài sản CNTT
  • Xác minh phiên bản OS để đảm bảo tương thích với bản vá bảo mật

Lưu ý: Lệnh này có sẵn từ Windows 10/Server 2016 trở lên. Trên các hệ thống cũ hơn, sử dụng systeminfo trong Command Prompt hoặc kết hợp nhiều cmdlet PowerShell khác.

2. Quản lý dịch vụ Windows

Các lệnh quản lý dịch vụ cơ bản

powershell

Get-Service

# Liệt kê tất cả dịch vụ và trạng thái

Start-Service -Name "tên_dịch_vụ"

# Khởi động một dịch vụ

Stop-Service -Name "tên_dịch_vụ"

# Dừng một dịch vụ

Restart-Service -Name "tên_dịch_vụ"

# Khởi động lại dịch vụ

Tổng hợp lệnh PowerShell thiết yếu cho quản trị hệ thống Windows

Mục đích: Quản lý các dịch vụ Windows (Windows Services) - những tiến trình chạy ngầm thực hiện các chức năng hệ thống quan trọng.

Khi nào cần sử dụng:

  • Dịch vụ bị treo hoặc không phản hồi
  • Sau khi cập nhật phần mềm cần khởi động lại dịch vụ
  • Kiểm tra trạng thái dịch vụ để xác định nguyên nhân lỗi
  • Tắt các dịch vụ không cần thiết để tối ưu hiệu suất

Ví dụ thực tế:

powershell

Restart-Service -Name "wuauserv"

# Khởi động lại dịch vụ Windows Update

Get-Service -Name "Spooler"

# Kiểm tra trạng thái dịch vụ Print Spooler

Stop-Service -Name "tên_dịch_vụ" -Force

# Dừng dịch vụ đang gặp vấn đề

Lưu ý quan trọng:

  • Cần chạy PowerShell với quyền Administrator để quản lý dịch vụ
  • Một số dịch vụ hệ thống quan trọng không thể dừng hoặc có thể gây mất ổn định
  • Sử dụng tham số -Force để bắt buộc dừng dịch vụ có phụ thuộc

3. Truy xuất Log hệ thống để kiểm tra sự cố

Lệnh Get-EventLog (hệ thống cũ)

powershell

Get-EventLog -LogName System -Newest 50

# Lệnh Get-EventLog (hệ thống cũ)

Get-WinEvent -LogName System -MaxEvents 50

# Khuyến nghị cho hệ thống mới

Tổng hợp lệnh PowerShell thiết yếu cho quản trị hệ thống Windows

Mục đích: Truy xuất các bản ghi sự kiện (Event Logs) từ Windows Event Viewer để phân tích và chẩn đoán vấn đề.

Sự khác biệt giữa Get-EventLog và Get-WinEvent:

Đặc điểm

Get-EventLog

Get-WinEvent

Hệ thống hỗ trợ

Windows cũ hơn

Windows 7/Server 2008 R2 trở lên

Hiệu suất

Chậm hơn với log lớn

Nhanh hơn, tối ưu hóa tốt

Khuyến nghị của Microsoft

Không còn phát triển

Khuyến nghị sử dụng

Các loại log quan trọng:

  • System: Sự kiện hệ thống, driver, dịch vụ Windows
  • Application: Sự kiện từ ứng dụng
  • Security: Sự kiện bảo mật, đăng nhập, thay đổi quyền

Ví dụ nâng cao:

powershell

Get-WinEvent -FilterHashtable @{

LogName='System'

Level=2

StartTime=(Get-Date).AddDays(-1)

}

# Lọc log có mức độ Error trong 24 giờ qua

Get-WinEvent -FilterHashtable @{

LogName='System'

ID=1074

}

# Tìm sự kiện khởi động lại máy tính

Get-WinEvent -LogName System -MaxEvents 1000 |

# Liệt kê 1000 sự kiện mới nhất

Export-Csv -Path "C:Logssystem_events.csv" -NoTypeInformation

# Xuất log ra file CSV để phân tích

Ứng dụng thực tế:

  • Điều tra nguyên nhân máy chủ bị khởi động lại đột ngột
  • Phát hiện lỗi driver gây Blue Screen
  • Giám sát các lần đăng nhập thất bại (dấu hiệu bị tấn công)
  • Tìm lỗi ứng dụng định kỳ

4. Quản lý tiến trình (Process)

Lệnh quản lý tiến trình

powershell

Get-Process

# Liệt kê tất cả tiến trình đang chạy

Stop-Process -Name "tên_tiến_trình"

# Dừng tiến trình theo tên

Stop-Process -Id 1234

# Dừng tiến trình theo ID

Tổng hợp lệnh PowerShell thiết yếu cho quản trị hệ thống Windows

Mục đích: Giám sát và kiểm soát các tiến trình (processes) đang chạy trên hệ thống.

Thông tin được hiển thị bởi Get-Process:

  • Tên tiến trình (ProcessName)
  • Process ID (PID) - định danh duy nhất
  • Mức sử dụng CPU (%)
  • Bộ nhớ sử dụng (WorkingSet)
  • Thời gian CPU tích lũy

Ví dụ nâng cao:

powershell

Get-Process | Sort-Object CPU -Descending | Select-Object -First 10

# Tìm tiến trình tiêu tốn CPU nhiều nhất

Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 10

# Tìm tiến trình sử dụng RAM nhiều nhất

Get-Process -Name "chrome" | Stop-Process

# Dừng tất cả tiến trình Chrome

Stop-Process -Name "notepad" -Confirm

# Dừng tiến trình với xác nhận

Stop-Process -Name "hung_app" -Force

# Dừng tiến trình bắt buộc (không lưu dữ liệu)

Ứng dụng thực tế:

  • Xử lý ứng dụng bị treo không phản hồi
  • Giải phóng tài nguyên khi máy chủ quá tải
  • Phát hiện phần mềm độc hại hoặc tiến trình lạ
  • Giám sát hiệu năng ứng dụng trong thời gian thực

Lưu ý: Sử dụng -Force cẩn thận vì có thể mất dữ liệu chưa lưu.

5. Quản lý Tài khoản người dùng nội bộ

Lệnh quản lý tài khoản Local User

powershell

New-LocalUser -Name "TenBanChon" -Password (ConvertTo-SecureString "MatKhau123!" -AsPlainText -Force)

# Tạo tài khoản người dùng mới

Set-LocalUser -Name "username" -Description "Mô tả mới"

# Cập nhật mô tả tài khoản

Add-LocalGroupMember -Group "Administrators" -Member "username"

# Thêm người dùng vào nhóm Administrators

Tổng hợp lệnh PowerShell thiết yếu cho quản trị hệ thống Windows

Mục đích: Quản lý tài khoản người dùng cục bộ trên máy tính Windows không thuộc domain Active Directory.

Các cmdlet quan trọng khác:

powershell

Get-LocalUser

# Liệt kê tất cả tài khoản local

Disable-LocalUser -Name "username"

# Vô hiệu hóa tài khoản

Enable-LocalUser -Name "username"

# Kích hoạt lại tài khoản

Remove-LocalUser -Name "username"

# Xóa tài khoản

Set-LocalUser -Name "username" -Password (Read-Host -AsSecureString)

# Đổi mật khẩu

Get-LocalGroupMember -Group "Administrators"

# Xem thành viên của nhóm

Remove-LocalGroupMember -Group "Administrators" -Member "username"

# Xóa người dùng khỏi nhóm

Ví dụ tạo tài khoản hoàn chỉnh:

powershell

$Password = Read-Host -AsSecureString -Prompt "Nhập mật khẩu"

New-LocalUser -Name "ServiceAccount" `

-Password $Password `

-FullName "Service Account" `

-Description "Tài khoản dịch vụ nội bộ" `

-PasswordNeverExpires

# Tạo tài khoản với mật khẩu không bao giờ hết hạn

Add-LocalGroupMember -Group "Remote Desktop Users" -Member "ServiceAccount"

# Thêm vào nhóm Remote Desktop Users

Lưu ý bảo mật:

  • Sử dụng Read-Host -AsSecureString để nhập mật khẩu an toàn, không hiển thị trên màn hình
  • Áp dụng nguyên tắc least privilege: chỉ cấp quyền tối thiểu cần thiết
  • Thường xuyên xem xét và xóa tài khoản không còn sử dụng
  • Đối với môi trường doanh nghiệp, nên sử dụng Active Directory thay vì local user

Phạm vi áp dụng: Các cmdlet này chỉ hoạt động trên Windows 10/11 và Windows Server 2016 trở lên. Với hệ thống cũ hơn, sử dụng net user trong Command Prompt.

6. Theo dõi tài nguyên Hệ thống

Giám sát CPU

powershell

Get-Counter 'Processor(_Total)% Processor Time' | Select-Object -ExpandProperty CounterSamples | Select-Object CookedValue

# Lệnh giám sát CPU trong PowerShell

Get-Counter 'MemoryAvailable MBytes'

# Lệnh giám sát Memory trong PowerShell

Tổng hợp lệnh PowerShell thiết yếu cho quản trị hệ thống Windows

Mục đích: Theo dõi thời gian thực mức sử dụng CPU và RAM của hệ thống mà không cần mở Task Manager.

Cách hoạt động: Cmdlet Get-Counter truy cập Windows Performance Counters - hệ thống đo lường hiệu năng tích hợp sẵn trong Windows.

Ví dụ giám sát nâng cao:

powershell

Get-Counter 'Processor(_Total)% Processor Time' -Continuous -SampleInterval 2

# Theo dõi CPU liên tục mỗi 2 giây

Get-Counter 'Processor(_Total)% Processor Time' -MaxSamples 10 -SampleInterval 1

# Lấy 10 mẫu với khoảng cách 1 giây

Get-Counter @('Processor(_Total)% Processor Time', 'MemoryAvailable MBytes', 'PhysicalDisk(_Total)Disk Reads/sec', 'PhysicalDisk(_Total)Disk Writes/sec')

# Giám sát nhiều metrics cùng lúc

Get-Counter 'Processor(_Total)% Processor Time' -MaxSamples 100 |

Export-Counter -Path "C:PerfLogscpu_usage.csv" -FileFormat CSV

# Xuất kết quả ra file để phân tích sau

Các Performance Counter hữu ích khác:

powershell

'PhysicalDisk(_Total)% Disk Time'

# Kiểm tra disk performance

'Network Interface(*)Bytes Total/sec'

# Giám sát network

'MemoryPages/sec'

# Kiểm tra memory page faults

'SystemProcesses'

# Theo dõi số lượng process

Ứng dụng thực tế:

  • Phát hiện sớm tình trạng quá tải trước khi máy chủ bị đơ
  • Xác định thời điểm cao điểm để lên kế hoạch nâng cấp phần cứng
  • Giám sát hiệu năng sau khi cài đặt phần mềm mới
  • Tạo baseline hiệu năng để so sánh khi có vấn đề

Lưu ý: Tên counter có thể khác nhau tùy theo ngôn ngữ Windows. Sử dụng Get-Counter -ListSet * để xem danh sách đầy đủ.

7. Kiểm tra Kết nối mạng

Lệnh Test-NetConnection

powershell

Test-NetConnection -ComputerName "địa_chỉ_IP_hoặc_hostname" -Port số_cổng

Tổng hợp lệnh PowerShell thiết yếu cho quản trị hệ thống Windows

Mục đích: Kiểm tra khả năng kết nối mạng đến một máy chủ cụ thể và cổng dịch vụ, thay thế hoàn hảo cho ping và telnet.

Ưu điểm so với ping:

  • Kiểm tra được cổng cụ thể (ping chỉ kiểm tra ICMP)
  • Hiển thị thông tin chi tiết về kết nối
  • Có thể kiểm tra cả tính năng traceroute

Ví dụ sử dụng:

powershell

Test-NetConnection -ComputerName "google.com" -Port 80

# Kiểm tra kết nối web server (port 80)

Test-NetConnection -ComputerName "192.168.1.100" -Port 1433

# Kiểm tra kết nối SQL Server (port 1433)

Test-NetConnection -ComputerName "server01" -Port 3389

# Kiểm tra RDP (port 3389)

Test-NetConnection -ComputerName "8.8.8.8" -TraceRoute

# Kiểm tra với traceroute

Test-NetConnection -ComputerName "google.com"

# Ping đơn giản

Thông tin được trả về:

  • ComputerName: Tên hoặc IP đích
  • RemoteAddress: Địa chỉ IP thực tế
  • RemotePort: Cổng đã kiểm tra
  • TcpTestSucceeded: True/False - kết nối thành công hay thất bại
  • PingSucceeded: Kết quả ping
  • PingReplyDetails: Thời gian phản hồi (latency)

Ứng dụng thực tế:

  • Kiểm tra firewall có chặn cổng dịch vụ không
  • Xác minh dịch vụ web/database đang lắng nghe đúng cổng
  • Chẩn đoán vấn đề kết nối giữa các máy chủ
  • Kiểm tra routing và latency mạng với TraceRoute

Script kiểm tra nhiều máy chủ:

powershell

$servers = @("server01", "server02", "server03")

$port = 3389

foreach ($server in $servers) {

$result = Test-NetConnection -ComputerName $server -Port $port -WarningAction SilentlyContinue

if ($result.TcpTestSucceeded) {

Write-Host "$server : Port $port is OPEN" -ForegroundColor Green

} else {

Write-Host "$server : Port $port is CLOSED" -ForegroundColor Red

}

}

8. Tìm File bị thay đổi gần nhất

Lệnh tìm file được chỉnh sửa trong 24 giờ qua

powershell

Get-ChildItem -Recurse | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-1) }

Tổng hợp lệnh PowerShell thiết yếu cho quản trị hệ thống Windows

Mục đích: Tìm kiếm các file đã được tạo mới hoặc chỉnh sửa trong khoảng thời gian gần đây, cực kỳ hữu ích khi điều tra sự cố bảo mật hoặc ransomware.

Phân tích cú pháp:

  • Get-ChildItem -Recurse: Lấy danh sách tất cả file/folder, bao gồm cả subfolder
  • Where-Object: Lọc kết quả theo điều kiện
  • $_.LastWriteTime: Thời gian chỉnh sửa cuối cùng của file
  • -gt: Greater than (lớn hơn)
  • (Get-Date).AddDays(-1): Thời điểm 24 giờ trước

Các biến thể hữu ích:

powershell

Get-ChildItem -Recurse | Where-Object { $_.LastWriteTime -gt (Get-Date).AddHours(-1)}

# Tìm file thay đổi trong 1 giờ qua

Get-ChildItem -Recurse | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-7)}

# Tìm file thay đổi trong 7 ngày qua

Get-ChildItem -Recurse -File | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-1) }

# Tìm file, không bao gồm folder

Get-ChildItem -Recurse -Filter *.txt | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-1) }

# Tìm file .txt thay đổi gần nhất

Get-ChildItem -Recurse -File |

Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-1) } |

Select-Object FullName, LastWriteTime, Length |

Sort-Object LastWriteTime -Descending

# Hiển thị kết quả có format dễ đọc

Get-ChildItem -Recurse -File | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-1) } | Export-Csv -Path "C:/Reportsrecent_files.csv" -NoTypeInformation

# Xuất kết quả ra file CSV

Ứng dụng thực tế:

a. Phát hiện ransomware:

Ransomware thường mã hóa hàng loạt file trong thời gian ngắn, để lại dấu vết thời gian chỉnh sửa bất thường.

powershell

Get-ChildItem -Recurse |

Where-Object { $_.LastWriteTime -gt (Get-Date).AddHours(-2) -and

$_.Extension -match '.(encrypted|locked|crypto)$' }

# Tìm file có extension lạ được tạo cách đây khoảng 2 giờ

b. Điều tra ai đã chỉnh sửa file quan trọng:

powershell

Get-ChildItem -Path "C:WindowsSystem32config" -Recurse |

Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-7) }

# Tìm file config bị thay đổi

c. Theo dõi hoạt động người dùng:

powershell

Get-ChildItem -Path "C:Users*Desktop" -Recurse |

Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-1) }

# Tìm file trong Desktop của user bị thay đổi

Lưu ý hiệu năng: Khi quét ổ cứng lớn hoặc toàn bộ hệ thống, lệnh có thể chạy lâu. Nên giới hạn phạm vi tìm kiếm bằng cách chỉ định đường dẫn cụ thể.

9. Đổi tên file hàng loạt

Lệnh đổi tên file theo pattern

powershell

Get-ChildItem *.txt | Rename-Item -NewName { $_.Name -replace "old","new" }

Tổng hợp lệnh PowerShell thiết yếu cho quản trị hệ thống Windows

Mục đích: Đổi tên hàng loạt nhiều file cùng lúc theo quy tắc nhất định, tiết kiệm thời gian so với đổi tên thủ công từng file.

Cách hoạt động:

  • Get-ChildItem *.txt: Lấy danh sách tất cả file .txt
  • Rename-Item: Cmdlet đổi tên file/folder
  • -NewName: Chỉ định tên mới
  • $_.Name -replace "old","new": Thay thế chuỗi "old" bằng "new" trong tên file

Các ví dụ thực tế:

powershell

Get-ChildItem *.jpg | Rename-Item -NewName { "Photo_" + $_.Name }

# Thêm prefix vào tên file

Get-ChildItem *.txt | Rename-Item -NewName { $_.BaseName + "_backup" + $_.Extension }

# Thêm suffix trước extension

Get-ChildItem *.txt | Rename-Item -NewName { $_.BaseName + ".log" }

# Đổi extension

Get-ChildItem | Rename-Item -NewName { $_.Name -replace " ","" }

# Loại bỏ khoảng trắng trong tên file

Hay

Get-ChildItem -File *.jpg | Rename-Item -NewName { $_.Name -replace " ","_" }

# Xử lý file có định dạng cụ thể (ví dụ: .jpg) thay khoảng trắng bằng gạch dưới

$i = 1

Get-ChildItem *.jpg | ForEach-Object {

Rename-Item $_ -NewName ("Image_" + $i.ToString("000") + ".jpg")

$i++

}

# Script đổi tên file theo số thứ tự

Get-ChildItem | Rename-Item -NewName { $_.Name.ToLower() }

# Chuyển tên file sang chữ thường

Get-ChildItem | Rename-Item -NewName { $_.Name.ToUpper() }

# Chuyển tên file sang chữ hoa

Get-ChildItem *.log | Rename-Item -NewName {(Get-Date -Format "yyyyMMdd_HHmmss") + "_" + $_.Name}

# Đổi tên theo ngày giờ

Ứng dụng thực tế:

VD1: Tổ chức log files:

powershell

Get-ChildItem C:Logs*.log | Rename-Item -NewName {$_.BaseName + "_" + $_.LastWriteTime.ToString("yyyyMMdd") + ".log"}

# Thêm timestamp vào log files cũ

VD2: Chuẩn hóa tên file từ nhiều nguồn:

powershell

Get-ChildItem | Rename-Item -NewName {$_.Name -replace '[^wd.]','_'}

# Loại bỏ ký tự đặc biệt không mong muốn

VD3. Xử lý ảnh hàng loạt:

powershell

$counter = 1

Get-ChildItem *.jpg | Sort-Object CreationTime | ForEach-Object {

$newName = "Project_Alpha_" + $counter.ToString("D4") + ".jpg"

Rename-Item $_ -NewName $newName

$counter++

}

# Script đổi tên ảnh theo thứ tự với prefix dự án

Lưu ý an toàn:

  • Luôn kiểm tra trước khi thực thi: Sử dụng Select-Object Name, @{N='NewName'; E={...}} để xem trước tên mới
  • Backup dữ liệu quan trọng trước khi đổi tên hàng loạt
  • Sử dụng -WhatIf để xem thử kết quả mà không thực sự đổi tên:

10. Tự động hóa nâng cao với PowerShell scripts

Kích hoạt Execution Policy

Thông thường để bảo mật Microsoft không cho phiép người dùng chạy script trên máy vì vậy muốn chạy được bạn phải xác định quyền. Tức người dùng phải chủ động cho phép.

Get-ExecutionPolicy

# Kiểm tra policy hiện tại

Set-ExecutionPolicy Bypass -Scope Process

# Tạm thời cho phiên hiện tại

Tổng hợp lệnh PowerShell thiết yếu cho quản trị hệ thống Windows

Tạo và chạy script PowerShell

powershell

.scriptname.ps1

# Chạy script từ file

Set-ExecutionPolicy RemoteSigned

# Cho phép chạy script

VD1: tạo file Scriptname.ps1:

$i = 1

Get-ChildItem *.jpg | ForEach-Object {

Rename-Item $_ -NewName ("Image_" + $i.ToString("000") + ".jpg")

$i++

}

# Script đổi tên file theo số thứ tự

VD2: Tạo file AutoBackup.ps1

$sourceFolder = "C:ImportantData"

# Thư mục cần backup

$backupFolder = "D:Backups"

# Nơi lưu backup

$timestamp = Get-Date -Format "yyyyMMdd_HHmmss" $backupPath = "$backupFolderBackup_$timestamp"

# Tạo tên backup với ngày giờ

Write-Host "Đang backup..." -ForegroundColor Yellow

try {

# Kiểm tra thư mục nguồn

if (!(Test-Path $sourceFolder)) {

throw "Không tìm thấy thư mục: $sourceFolder"

}

# Tạo thư mục backup nếu chưa có

if (!(Test-Path $backupFolder)) {

New-Item -ItemType Directory -Path $backupFolder -Force | Out-Null

}

# Thực hiện backup

Copy-Item -Path $sourceFolder -Destination $backupPath -Recurse -Force

Write-Host "✓ Backup thành công!" -ForegroundColor Green

Write-Host "Vị trí: $backupPath" -ForegroundColor Cyan

} catch {

Write-Host "✗ Lỗi: $_" -ForegroundColor Red

exit 1

}

Mục đích: Tạo các file script (.ps1) để tự động hóa các tác vụ lặp đi lặp lại, biến những quy trình phức tạp thành công cụ đơn giản chỉ cần chạy một lệnh.

Tổng kết

PowerShell không chỉ là công cụ để thực hiện lệnh, nó là nền tảng để bạn xây dựng các giải pháp tự động hóa toàn diện cho hạ tầng IT của mình. Việc thành thạo những lệnh này không chỉ giúp bạn giải quyết vấn đề nhanh hơn mà còn mở ra khả năng tự động hóa các quy trình phức tạp. Hãy bắt đầu áp dụng từng lệnh vào công việc hàng ngày, sau đó kết hợp chúng thành các script mạnh mẽ phù hợp với nhu cầu cụ thể cho tổ chức của bạn.

Chúc bạn thành công!

Anh Xuân

Đường dẫn bài viết: https://dientuungdung.vn/tong-hop-lenh-powershell-thiet-yeu-cho-quan-tri-he-thong-windows-12283.html

In bài biết

Bản quyền thuộc Tạp chí Điện tử và Ứng dụng.