PowerShell Script - нужна помощь.

  • 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

    Пожалуйста зарегистрируйся для просмотра скрытого содержимого.
  • скрипт в версии повершель 1, возомжно надо актуализировать, но на 90% компа работет на ура, только на новом АМД железе проблемы.

    Там и биос обноволяли и все драйвера с Леново установлены, все бесполезно, то работает, то нет.

    А в таком состоянии выдавать клиентам компы не можем, у нас "зеленая идиология", и если придет на работу, а комп включен - мнгие поднимают хай-вай...

  • скормил твою проблему KI

    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.

  • Спасибо, идея хорошая, но не уверен, что зделал то что надо.

    Я сам хотел, но не имею опыта с КИ.


    Если есть пользователь (UserLoggedIn=True) или активен барамунди джоб (BMSrunning=True) - он НИ в коем случае должен выключать комп.

    Эти функции работают на ура.

    Так же не должен отрубать после 6:30.


    Что мне не ясно - как он вычитывает StartInMaint, почему в 3 ночи он пишет в лог, что условие (1-6:30) не выполено. Потому что комп был включен не через биос?

    Почему это происходит?


    Скрипт понимает разнницу - комп был запущен через Биос (подозреваю это DisableWake) или был уже включен.

    Тут хочу все убрать, дается только время срабатываания скрипта с 1:00 до 6:30.

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

    Если есть или пользователь или ждоп - ждет до 6:30 (кажется он ждет WhatIf - не понимаю как работает).

    Я понимаю что идет провека был ли включен комп через биос или был просто включен.

    Это надо изменить - если включен, нет пользователя, не запущен джоп (msiexec тоже вроде проверят на активность - пусть остается) - то комп выключить если это время между 1:00 и 6:30.


    Похоже надо обращаться в Lenovo суппорт, но у меня не получается репродуцировать ошибку.

    Поэтому надо сперва оталадить скрипт.

  • гоогле КИ к сожалению не годен, он понимает задачи, либо я не смог ему объяснить.

    В три часа фигачит выключене - все игнорировать... ||||||


    Цитата

    Windows-Schnellstart deaktivieren

    Der Windows-Schnellstart führt bei Ryzen-Systemen häufig zu Konflikten mit Hintergrund-Skripten beim Herunterfahren.

    это уже отключено.

  • Цитата

    Hier ist das Skript, das exakt auf Ihre Anforderungen angepasst wurde. Es kehrt zur Logik des Original-Skripts zurück, beseitigt aber den Fehler mit der BIOS-Einschaltzeit.
    Es ist nun völlig egal, ob der PC per BIOS aufgeweckt wurde oder seit dem Vortag durchläuft: Wenn das Skript zwischen 01:00 und 06:30 Uhr ausgeführt wird, kein Benutzer angemeldet ist und kein Update läuft, fährt der PC herunter. Falls um 06:30 Uhr immer noch ein Update läuft, bricht das Skript ab und unternimmt nichts.

    потихоньку мы с КИ доходим до цели...

  • у нас людей не хватает, "умные" все сбежали или уходят на ренту, новые не тянут или тоже сбегают или слабые в теме, нам (мне еще 12 лет до пенсии) прихотися выполнять работу сперва за двоих, теперь за 3х... Приходится всему учиться, новым вещам. В смысле пока КИ меня заменить не сможет, что будет лет через 5 - посмотрим. Надеюсь до пенсии дотяну,. если раньше не загнусь.


    Поправил с КИ скрипт, буду сегодня тестить..

  • Прикольный опыт с КИ, спорит паdла со мной, нет так будет лучше или так, кое где уступает. :roflmao:

    Пока еще не финальная версия.

    Но пояснил как интересующий модуль функтионировал, мы его выкинули нафиг, дебаг ввели.


    Fertig....


    Пожалуйста зарегистрируйся для просмотра прикрепленного файла.

    Сообщение было отредактировано 2 раз, последнее редактирование пользователем Kamen987 ().