PowerShell Skript - нужна помощь.
Надеюсь есть пара людей ктороые в этой теме понимают, моих знаний не хватает.
Обрисую ситуацию.
Работники работают на компах с windows 11 enterprice, вечером выключают компы уходят домой.
В 1 час через BIOS компа - компы включаются, все наши скрипты, пакеты с помощью агента (baramuнdi agent, baramundi jobs, в скрипте идет проверка активен или нет - BMSrunnin функция) - идет обслуживание.
Потом в 3 часа ночи через (я не знаю как это на руском, буду на албанском, писать, нето журнал задач или как там по русски) - tasksheduler запускает PowerShell Skript, который выключает комп.
Скрипт писал профи много лет назад, на большинстве компов с виндовс 11 работает до сих пор, а вот на миним амд райзен компах что то не то, эти твари после выпшолнения скрипта через 30-40 секиунд включаются сами, помехи сети (мажик пакеты, WOL) - отсутствуют (отключали комы от сетей).
Скрипт делает 3 проверки:
залогинен ли какой пользователь, если да, то не выключает комп ( UserLoggedIn=True)
активен еще ли какой барамунди джоб (BMSrunning=True) - то комп не выключает
активно ли временное окно для работы скрипта (StartInMaint=True) - если вышел за время, то не выключает.
Тут проблемы, пишется минимальный лог, одна строка типа этой
2020.02.14 03:00:01 NO Shutdown - UserLoggedIn=True BMSrunning=False (StartInMaint=False)
Т.е. выключил в 3:00, потому что якобы не вовремени окна, а оно с 1:00 ночи до 6:30.
Мне нужно разобртаться модулем/функцией где вычитывается время, что скрипт творит с поверсетингом, удалить все нафиг и понять вычитывает ли он время компа правильно.
Мы обслуживаем более 3 тыщи компов, везде все работает, а на новых амд леново мини не работает. Репродуцировать ошибку не получается, может 5 раз подо подрят сработать, потом 5 раз нет.
Мое подозрение, что скрипт с поерсетингом что то мутит и железо не отрабатывает тайминиги.
Так же у виндов 11 проблемы, пофиг какаие настройки поверстинг - через минут-два простоя он всегда идет в энерги сбережение (slepmodus).
Так же надо удалить еще фичу, если комп был включен и потом отработал скрипт, то он тоже не выключает комп, а надо что бы выключал, только если есть залогинивый юзер или еще активен какой барамнуди джоб.
Я не понимаю сколько скрипт жде ти сколько еще раз проверяет.
Изменить скрипт что бы писал в лог все шаги (дебуг функция).
Для меня скрипт очень сложный.
Я добoвлял -Force (его там не было, это Stop-Computer, Stop-Computer -Force), но результата не было.
Прилагаю скрипт и лог скрипта, таскшедулер думаю прилагать не стоит, но если надо будет, то тоже приложу.
Skript
Пожалуйста зарегистрируйся для просмотра скрытого содержимого.