Иногда нужно, что бы компьютер не выключался, а настройки энергосбережения и блокировки менять не дают. Можно купить аппаратное устройство, можно самому сделать на основе ардуино.
А можно накатать скриптик из 10 строчек.
Как-то исторически сложилось, что адресная книга в организации велась в экселевском файлике, лежащем на шаре. Гемор её поддерживать, гемор ей пользоваться и всё такое. Но ведь есть замечательная Active Directory, в которой все данные есть!
Избавил сотрудника от тяжкой ноши вносить всех в файлик и сваял за пару минут наколеночный скрипт. Ну и темплейт, ещё за пару десятков минут сварганил.
Просто запускаем скрипт и у нас есть html, который можно положить куда угодно и политиками добавить его в букмарки всех сотрудников.
На днях релизнулся Zabbix 3.0, да к тому же LTS. Обновление серверной части не заняло много времени (да здравствуют репозитории!), а вот ползать по куче серверов (а их собственно за сотню) для обновления агентов было впадлу. Можно было конечно и забить, но некрасиво как-то. Поэтому на коленке был сварганен следующий скрипт.
Скриптов, реализующих подобный функционал куча, но ни один меня не устроил. Пришлось написать свой, путём домысливания и надёргивания кусков отовсюду. (Сорри авторам у которых надёргал, всех не упомнишь)
В принципе в коде всё понятно, можно обойтись и без комментариев. Единственное неочевидное место:
$DisplayName=(Get-ADUser ($LoggedonUserName.Split('\\')\[1\])).name
Дело в том, что класс Win32_ComputerSystem отдаёт имя в формате domain\username, с помощью метода .Split я разбиваю строку на массив из двух элементов и беру из него второе значение.
Скрипт требует модуля ActiveDirectory, входящего в стандартную поставку.