งานเฝ้าระบบประจำวันหลายอย่างทำด้วย PowerShell บรรทัดเดียวได้ บทความนี้ให้สคริปต์เริ่มต้นสำหรับตรวจบริการที่ต้องทำงานตลอด และดูพื้นที่ดิสก์ที่เหลือ
เช็กสถานะบริการ
$services = 'MSSQLSERVER', 'SQLSERVERAGENT', 'W32Time'
Get-Service -Name $services -ErrorAction SilentlyContinue |
Select-Object Name, Status, StartType |
Format-Table -AutoSize
เริ่มบริการที่หยุดอยู่
Get-Service -Name $services -ErrorAction SilentlyContinue |
Where-Object { $_.Status -ne 'Running' -and $_.StartType -eq 'Automatic' } |
ForEach-Object {
Write-Host "Starting $($_.Name) ..."
Start-Service -Name $_.Name
}
ก่อนสั่งเริ่มบริการอัตโนมัติ ให้ตรวจก่อนว่าทำไมบริการจึงหยุด ถ้าเริ่มซ้ำแล้วหยุดอีก แสดงว่ามีสาเหตุที่ต้องแก้ ไม่ควรให้สคริปต์เริ่มใหม่วนไปเรื่อย ๆ
ดูพื้นที่ดิสก์ที่เหลือ
Get-PSDrive -PSProvider FileSystem |
Where-Object { $_.Used -gt 0 } |
Select-Object Name,
@{ n = 'UsedGB'; e = { [math]::Round($_.Used / 1GB, 1) } },
@{ n = 'FreeGB'; e = { [math]::Round($_.Free / 1GB, 1) } }
ตั้งสคริปต์เป็น Scheduled Task ให้รันทุกเช้า แล้วส่งผลลัพธ์เข้าอีเมลหรือไฟล์ log จะเห็นแนวโน้มก่อนที่ดิสก์จะเต็ม
Leave a Reply