Powershell 6 — новый командлет Get-Uptime


Да теперь моими усилиями в Powershell 6 есть командлет Get-Uptime, который, как можно легко понять, возвращает длительность работы ОС или время старта системы.

Как оказалось это нетривиальная задача. Основная проблема в том, что командлет должен работать на всех системах Windows, OSX и Linux. Например Windows мы можем получить зачение Uptime несколькими способами: 1. используя WMI класс Win32_OperatingSystem — это выполняется медленно и работает только на Windows, 2. используя счётчик производительности «System Uptime» — это наиболее правильный способ для Windows, но он не работает на других системах.

В конечном итоге оказалось возможным использовать класс .Net Stopwatch Class (System.Diagnostics). Это нецелевое использование этого класса. Тем не менее нашёлся хитрый вариант, который работает. Подробности можно найти по ссылке #2497.

Powershell 6 -производительность индикатора выполнения


Мне удалось сделать достаточно интересное исправление в Powershell 6. Если провести достаточно простой тест загрузки файла с отображением индикатора выполнения (Progress Bar) и без него, то скорость загрузки во втором случае в разы выше!  Такая же картина при выполнении любых командлетов, которые используют индикатор выполнения. Иначе говоря, индикатор выполнения сильно тормозит выполнение скрипта. Примеры можно посмотреть тут.

После патча, который сделал обновление эрана асинхронным,  тесты производительности показали, что разница в производительности стала менее 3%!

Это означает, что некоторые скрипты станут работать ощутимо быстрее без всяких переделок.

SmartScreen уже в прошлом


Начиная с 1 ноября компания Microsoft перестала выпускать обновления для SmartScreen — антиспам фильтра, который встроен в Exchange Server и Outlook.

Собственно никакого эффекта это не должно оказать, т.к. никто давно не опирается на эту антиспам технологию. SmartScreen изначально имел только ежемесячные обновления, что в современном мире можно считать полным отсутствием работоспособности: защита от спам атак работает только в реальном времени, реагируя на новые угрозы буквально в считанные секунды.

Компания Майкрософт предлагает в качестве современной альтернативы свой облачный антиспам сервис Exchange Online Protection. Мы также можем использовать антиспам продукты третьих фирм, которые широко представлены на рынке.