🔹 Hướng Dẫn Tạo Script PowerShell “RunningLow” Kiểm Tra Dung Lượng Ổ Đĩa Và Gửi Email
📌 1. Mô Tả Chức Năng
- Kiểm tra dung lượng ổ đĩa trên Windows Server.
- Nếu dung lượng ổ đĩa xuống dưới ngưỡng (ví dụ: 10GB), script sẽ gửi email cảnh báo.
- Có thể lên lịch chạy tự động bằng Task Scheduler.
🛠 2. Cách Tạo Script PowerShell
📌 Bước 1: Mở PowerShell ISE
- Nhấn Windows + R, nhập
powershell_ise
rồi nhấn Enter.
📌 Bước 2: Dán đoạn mã sau vào PowerShell ISE
# Định nghĩa tham số
$thresholdGB = 10 # Ngưỡng cảnh báo (GB)
$smtpServer = “smtp.yourmail.com” # SMTP Server của bạn (ví dụ: smtp.gmail.com)
$smtpPort = “587” # Cổng SMTP (thường là 587)
$fromEmail = “your-email@example.com” # Email gửi
$toEmail = “recipient@example.com” # Email nhận
$emailUser = “your-email@example.com” # Tên đăng nhập email
$emailPassword = “your-email-password” # Mật khẩu email (nên dùng app password thay vì mật khẩu thực)
# Lấy danh sách ổ đĩa
$drives = Get-PSDrive -PSProvider FileSystem | Where-Object { $_.Used -gt 0 }
# Biến lưu trữ thông tin ổ đĩa thiếu dung lượng
$lowDiskMessage = “”
# Kiểm tra từng ổ đĩa
foreach ($drive in $drives) {
$freeSpaceGB = [math]::Round($drive.Free / 1GB, 2)
if ($freeSpaceGB -lt $thresholdGB) {
$lowDiskMessage += “⚠️ Ổ đĩa $($drive.Root) chỉ còn $freeSpaceGB GB trống.`n”
}
}
# Nếu có ổ đĩa nào thấp hơn ngưỡng, gửi email cảnh báo
if ($lowDiskMessage -ne “”) {
$subject = “🚨 Cảnh Báo Dung Lượng Ổ Đĩa Thấp!”
$body = “Xin chào Admin,`n`n$lowDiskMessage`nVui lòng kiểm tra và giải phóng dung lượng.`n`nTrân trọng!”
$securePassword = ConvertTo-SecureString $emailPassword -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential ($emailUser, $securePassword)
Send-MailMessage -SmtpServer $smtpServer -Port $smtpPort -UseSsl `
-Credential $credential -From $fromEmail -To $toEmail `
-Subject $subject -Body $body
}
✅ 3. Hướng Dẫn Chạy Script
- Lưu script với tên RunningLow.ps1 (Ví dụ: C:\Scripts\RunningLow.ps1).
- Mở PowerShell với quyền Administrator.
Chạy lệnh:Set-ExecutionPolicy Unrestricted -Scope Process
- (Cho phép chạy script trong phiên hiện tại).
Chạy script:C:\Scripts\RunningLow.ps1
- Nếu ổ đĩa nào dưới 10GB, bạn sẽ nhận được email cảnh báo. 📩
⏲ 4. Thiết Lập Chạy Tự Động Bằng Task Scheduler
Bạn có thể thiết lập Windows Task Scheduler để chạy script này hàng ngày.
📌 Bước 1: Mở Task Scheduler
- Nhấn Windows + R, nhập
taskschd.msc
rồi nhấn Enter.
📌 Bước 2: Tạo Task Mới
- Nhấn Create Basic Task.
- Đặt tên: Check Disk Space & Send Email.
- Chọn Daily → Thiết lập thời gian chạy tự động.
- Chọn Start a Program.
Nhập chương trình:
powershell.exe
Trong phần Arguments, nhập:-ExecutionPolicy Bypass -File "C:\Scripts\RunningLow.ps1"
- Nhấn Finish.
🎯 5. Kết Luận
- Script này giúp bạn giám sát ổ đĩa tự động và gửi cảnh báo qua email khi dung lượng thấp.
- Hữu ích cho Windows Server, VPS, máy trạm cần quản lý lưu trữ hiệu quả.
- Bạn có thể tùy chỉnh ngưỡng cảnh báo, email nhận thông báo và lịch chạy tự động.