Добрового времени суток, господа автоматизирующие.
Есть у меня PowerShell скрипты, автоматизирующие некоторые действия в моей системе (Windows 10) посредством запуска из планировщика заданий (Task Scheduler) по расписанию и по некоторым триггерам. Проблема состоит в том, что после каждого их выполнения задача висит со статусом "Работает" даже, если скрипт свои задачи выполнил. Вопрос в том, как вернуть код ошибки из скрипта, если он вызывается планировщиком заданий.
К примеру, эффекта не даёт ни return, ни exit.
Код:
return 0; // или 0x0
// или
exit 0; // или 0x0
Ниже представлен один из моих скриптов. Конкретно этот перезагружает видео драйвер Intel HD Graphics после разблокировки экрана.
Код:
Add-Type -AssemblyName System.Threading
$intelVideoDriver = Get-PnpDevice | where { $_.Name -like "Intel(R) HD Graphics 4000" }
Disable-PnpDevice $intelVideoDriver.DeviceID -Confirm:$false
[System.Threading.Thread]::Sleep(2000)
Enable-PnpDevice $intelVideoDriver.DeviceID -Confirm:$false
New-BurntToastNotification -Text "System maintenanace", 'Intel HD 4000 reloaded'