opened image

Мониторинг доступности сервера через планировщик Windows

Чтобы настроить задание в планировщике заданий Windows (Task Scheduler) с использованием PowerShell и выполнить ваш скрипт каждые 10 минут, выполните следующие шаги:

  1. Сначала сохраните ваш скрипт в файл, например, C:\path\to\your\script.ps1.

  2. Запустите PowerShell от имени администратора.

  3. Используйте следующую команду для создания задания:

 

$action = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument '-NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -File C:\path\to\your\script.ps1'

$trigger = New-ScheduledTaskTrigger -AtStartup -RepetitionInterval ([TimeSpan]::FromMinutes(10)) -RepetitionDuration ([TimeSpan]::FromDays(36500))

Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "YourTaskName" -Description "Description of your task"

 

 

В этом коде:

  • -Execute 'powershell.exe': указывает, что нужно выполнить powershell.exe.

  • -Argument: аргументы, которые передаются в PowerShell. Это указывает PowerShell запустить ваш скрипт без интерактивной оболочки и обойти политику выполнения (что может потребоваться для автоматического выполнения скриптов).

  • -AtStartup: начать задание при запуске (вы можете заменить это на другой момент времени, если хотите).

  • -RepetitionInterval: повторять задание каждые 10 минут.

  • -RepetitionDuration: продолжительность повторения (здесь установлено 24 часа, но это можно изменить или вообще опустить, чтобы задание выполнялось бесконечно).

  • YourTaskName: имя вашего задания в планировщике заданий. Вы можете изменить его на что-то более подходящее.

 

После выполнения этой команды задание будет создано и начнет выполняться каждые 10 минут. Вы можете проверить и управлять заданием через графический интерфейс планировщика заданий (Task Scheduler) в Windows.

 

 

 

 

Если вы хотите просмотреть все задания, созданные в планировщике заданий, используйте команду:

 

Get-ScheduledTask | Format-Table -Property TaskName,State

 

 

Удаление задачи

Для удаления задачи используйте команду:

 

Unregister-ScheduledTask -TaskName "YourTaskName" -Confirm:$false

 

Изменение задачи

Если вы решите внести изменения в уже созданное задание, лучше всего удалить старое задание и создать новое с обновленными параметрами.

 

Заключение

 

Мониторинг серверов — критически важная задача для обеспечения стабильности IT-инфраструктуры. Используя Планировщик заданий Windows в комбинации с PowerShell, можно автоматизировать проверки и уведомления, оперативно отслеживая потенциальные проблемы. Однако такой подход требует аккуратности и осознанного подхода к безопасности для предотвращения уязвимостей.