Ниже приведен пример скрипта PowerShell, который может использоваться для мониторинга состояния системы и отправки уведомлений о возможных проблемах:
Устанавливаем переменные для отправки уведомлений по электронной почте
$EmailFrom = "from@example.com"
$EmailTo = "to@example.com"
$Subject = "Системный мониторинг"
$Body = "Система находится в нормальном состоянии."
$SmtpServer = "smtp.example.com"
Задаем переменные для мониторинга
$ComputerName = "localhost" Замените на имя вашего компьютера
$CpuUsage = Get-Counter -Counter "\Processor(_Total)\% Processor Time" -ComputerName $ComputerName
$MemoryUsage = (Get-WmiObject -Class Win32_PerfFormattedData_PerfOS_Memory -ComputerName $ComputerName).CommittedMBytes
$DiskUsage = (Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DeviceID='C:'").FreeSpace / (Get-CimInstance -ClassName Win32_DiskDrive -Filter "InterfaceType='SCSI'").Size * 100
Проверяем значения переменных
if ($CpuUsage -gt 80) {
Write-Host "CPU Usage: $CpuUsage%"
Send-MailMessage -To $EmailTo -From $EmailFrom -Subject $Subject -Body $Body -SmtpServer $SmtpServer
}
if ($MemoryUsage -lt 50) {
Write-Host "Memory Usage: $MemoryUsage GB"
Send-MailMessage -To $EmailTo -From $EmailFrom -Subject $Subject -Body $Body -SmtpServer $SmtpServer
}
if ($DiskUsage -ge 50) {
Write-Host "Disk Usage: $DiskUsage%"
Send-MailMessage -To $EmailTo -From $EmailFrom -Subject $Subject -Body $Body -SmptServer $SmptServer
}
else {
Write-Host "Все в порядке!"
}
Этот скрипт использует PowerShell для получения информации о состоянии процессора, памяти и диска на локальном компьютере. Затем он проверяет значения этих переменных и отправляет уведомления по электронной почте, если они превышают заданные пороговые значения.