Архив рубрики: Uncategorized

Проверяем дату на различные условия с помощью PowerShell

Несколько недель назад, мой друг Rich Mawdsley задал вопрос в нашей Slack-команде Windows-администраторов: как определить, что сегодня именно второй вторник месяца? Обнаружилось, что в PowerShell нет встроенного метода для ответа на такой вопрос. Вот почему, сегодня я представляю вам функцию, предназначение которой — проверять дату на определённые условия. Функция определяет:

  • Является ли дата днём недели определённого номера в этом месяце: Например, 4-й понедельник, второй вторник, последнее воскресенье и т.п.
  • Входит ли дата в определённый квартал.
  • Является ли заданная дата началом или концом квартала.
  • Последний ли это день месяца и т.д.

Возвращает функция всего лишь булево значение: $true, если дата удовлетворяет заданным условиям, $false если не удовлетворяет. Больше никаких данных о переданной ей дате функция не рассказывает.

Ниже представлен сам код, а его последнюю версию вы всегда можете найти на моём GitHub:

Функция покрыта тестами (результаты вы можете посмотреть здесь), но не полностью — в будущем я определённо улучшу их. И да, тесты работают — они помогли мне найти несколько ошибок 😉

Кстати, если вы никогда раньше не писали тесты для PowerShell, самое время начать: вот это Введение в тестирование с помощью Pester Jakub Jares`а очень поможет вам — вы начнёте писать тесты ещё до окончания лекции.

Google Glazier

Ого, Google только что выложил штуку для автоматической установки Windows. Штука написана на питоне и называется Glazier (стекольщик). Образы ОС в ней строятся на основании конфигурационных файлов, написанных на YAML — можно их хранить в системе контроля версий и очень удобно отслеживать изменения, откатываться и т.д.

Все данные распространяются по HTTPS, что позволяет использовать эту систему где угодно, кешировать образы на CDN и т.п.

Распространяется по лицензии Apache 2.0, пулл реквесты приветствуются.

Полезные блоги

Сегодня я хочу с вами поделиться списком блогов, которые я лично читаю и отслеживаю. Практически все из них ведутся независимыми IT-профессионалами, которые хорошо известны в сообществе и обладают наградами ala Microsoft MVP и ими подобными.
Рекомендую вам добавить эти блоги в RSS-читалку.

Конечно же я читаю и блоги TechNet/MSDN, но о них вы и так, я уверен, знаете, поэтому пока не буду ничего из них рекомендовать.

Если у вас есть аналогичные списки полезного — поделитесь ими с нами в комментариях, пожалуйста.

Active Directory Replication Status Tool перевыпущено

Microsoft только что перевыпустила средство для мониторинга репликации AD «Active Directory Replication Status Tool» и теперь оно снова работает!

Если вы не знаете, что это такое и что за события разворачивались вокруг этого средства, вот краткое объяснение:
Active Directory Replication Status Tool — это маленький помощник для практически любого администратора Active Directory. Он быстро показывает статус репликации леса или домена в графическом интерфейсе (почти как repadmin, но только с GUI и проще). Ранее Microsoft решила отключить это средство в феврале 2016, все его пользователи должны были мигрировать в облачное решение по мониторингу Microsoft Operations Management Suite. Чтобы достичь этого, Microsoft опубликовала «обновлённую» версию инструмента, чьё «улучшение» состояло только в том, что в ней присутствовал таймер, запрещающий запуск AD Replication Status Tool после первого февраля.

Microsoft не учла одного: AD Replication Status Tool и OMS служат совершенно разным целям: вы используете OMS для постоянного мониторинга ИТ-инфраструктуры, в то время, как AD Replication Status Tool применяется время от времени, в тех случаях, когда нужно быстро оценить состояние репликации в AD: при обследовании нового леса, решении проблем с репликацией и т.п. Также, MS часто не думает об отключённых от интернета инфраструктурах. Наконец, некоторые организации не хотят (или не могут по закону) передавать чувствительную информацию третьим лицам, особенно через интернет.

Все эти недопонимания привели к появлению этого треда на UserVoice, где много ИТ-специалистов выражали своё недовольство и объясняли, почему облачное решение не может заменить локальное.

И вот, наконец, мы были услышаны — нам вернули локальное средство и можно было бы откинуться на спинку кресла и расслабиться, но…

Они не позволят нам уйти просто так:

В заключение, я хотел бы поблагодарить команду Operational Insights за понимание нужд IT-сообщества, Ryan Ries за создание оригинального треда на UserVoice и, конечно же, это не было бы возможно без вас — спасибо всем сисадминам, которые голосовали, спорили и убеждали команду OMS в том, что нам необходим локальный инструмент мониторинга репликации.