среда, 25 марта 2020 г.

PowerShell - список процессов в файл

Завелся у меня на сервере какой то злокозненный процесс, который мешает инициализации VSS (теневое копирование томов): после перезагрузки сервера все отлично работает, но после того, как поработали юзеры, даже если после этого все их сессии закрыть описанным ранее скриптом, происходит ошибка инициализации VSS.
Ошибка может как возникнуть, так и не возникнуть, но после того как произошла помогает только перезагрузка.
Анализ логов результата не дал
Принято решение отследить гадящий процесс, для чего я буду
  • Каждое утро запускать скрипт, выгружающий список процессов в файл
  • Если резервное копирование прошло успешно процессы будут помечаться как невиновные
  • После возникновения ошибки полученные методом исключения процессы будут по очереди убиваться, служба будет перезапускаться
  • И так до победы
Собственно скрипт (procToFile.ps1) для получения списка процессов:

$myDate=(Get-Date -Format "yyyy-MM-dd_HH_mm").ToString
Get-process | Out-File -FilePath "$env:USERPROFILE\documents\pr_$myDate"
Добавляю зпадание в планировщик (Администрирование/Планировщик заданий/Создать простую задачу):
Название задачи
Выставляю время
Указывакем запуск PowerShell а наш скрипт в параметрах с ключем -File
Ставим птицу
Ставим выполнять без регистрации пользователя
Результат работы
Поставил, посмотрю что выйдет.
P.S.
Возможно такой подход кому то покажется немного странным и затянутым во времени, но для меня это не единственный способ резервного копирования в данном случае и я совершенно не спешу. Вечером будут убиваться сессии пользователей, ночью работать бэкап и утром выполняться скрипт.

Комментариев нет:

Отправить комментарий