Как стать автором
Обновить
1

PowerShell *

Расширяемое средство автоматизации от Microsoft

Сначала показывать
Порог рейтинга
Уровень сложности

Полезные модули PowerShell. Переводчик в консоли, SpeedTest, Syslog и другие

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 1.3K

Всем привет! Порой, написать графическую форму для консольного приложения может оказаться очень удобным решением, тем самым не нужно запоминать все ключи программы, особенно, если пользоваться им приходится изредка, тем самым автоматизируя работу с данным приложением в дальнейшем. Но, ситуация может быть обратной, когда приложение имеет только графический интерфейс, а вам нужно получить вывод его работы в консоли, например, для возможности передачи метрик в систему мониторинга. С тех пор как начал проводить все больше времени в консоли, заметил, что становится менее удобно переключаться на ранее привычные инструменты, лишний раз использовать мышь, держать открытыми излишние приложения или вкладки в браузере, особенно, если работаешь на удаленной машине без прямого доступа к графическому интерфейсу. У меня накопилась небольшая коллекция полезных модулей, большинство из которых написаны совсем недавно, успел привыкнуть при регулярном использовании и хотелось бы ими поделиться. Осознавая, что тенденция ухода Windows систем на территории РФ растет, тем не менее думаю еще очень много людей, кто так же как и я продолжают использовать данную систему и автоматизировать свою работу, возможно, представленные модули так же смогут пригодятся. Все модули опубликованы в репозитории на GitHub и менеджере пакетов Nuget, откуда их можно установить одной командой.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 0

Новости

Мониторинг температуры Windows. Создание метрик, настройка InfluxDB и Grafana

Уровень сложности Средний
Время на прочтение 15 мин
Количество просмотров 2.3K

Всем привет! Мониторинг температуры, нагрузки и других показателей системы всегда актуален, специалисты в области ИТ применяют разные подходы для реализации этой задачи, чтобы в конечном итоге визуализировать и наблюдать динамику полученных данных в максимально удобном формате. Существует много готовых решений для построения системы мониторинга, например, Zabbix, где уже из коробки присутствует огромная библиотека шаблонов по сбору данных из различных систем и визуализация в виде графиков, которые можно отобразить без излишних настроек, хотя обычно, этого недостаточно. Также часто бывают ситуации, когда требуется получить специфические показатели, их так же нужно где-то хранить и визуализировать, я же попытаюсь показать полный путь от получения таких метрик до конечной визуализации на примере сбора информации датчиков температуры Windows в минимально возможной конфигурации, чтобы сложилась общая картина данного процесса. Так как работаю администратором Windows систем, и на протяжении нескольких лет ежедневно использую PowerShell в работе, буду применять именного его (вы так же можете найти много полезных заметок по данному языку в моем репозиториями на GitHub). Для начале получим нужные нам метрики, настроим отправку этих метрик в базу данных InfluxDB, создадим службу Windows и отобразим датчики температуры на панели в Grafana.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 2

PowerShell и Selenium. Проще, чем кажется

Уровень сложности Средний
Время на прочтение 14 мин
Количество просмотров 6.9K

Всем привет! В продолжении публикации о возможностях PowerShell, упомянул, что выделю в отдельную статью использование библиотеки Selenium с упомянутым языком. Этот небольшой гайд также может подойти для понимания, что из себя представляет данная библиотека и общее представление, как с ней работать, т.к. не зависимо от выбранного вами языка, принцип работы с Selenium одинаковый. Сразу отвечу на вопрос для тех, кто не знает, что это за библиотека или кому она может понадобиться. Selenium в первую очередь инструмент для функционального тестирования, это когда нужно проделать ряд действий имитируя реального пользователя и убедиться, что функционал Web-приложения работает исправно или неисправно. Реже используется для автоматизации различных задач в браузере (вызов JavaScript функций по средствам нажатий кнопок, заполнение форм и т.п.), для которых не предусмотрено API, а в некоторых случаях может выступать более удобной и полноценной альтернативой. Работая системным администратором, мне было удобно автоматизировать действия в панелях управления различных сервисах, или собирать специфические метрики с отправкой в базу данных. Selenium даже может входить в список инструментов DevOps-инженера. На мой взгляд, инструмент очень интересный с точки зрения творческого подхода к решению различных задач.

Постараюсь разложить все по полочкам, от установки всех зависимостей до примера работы с данным инструментом, также продемонстрирую альтернативный инструмент, который использовал до знакомства с Selenium. Специально для статьи подготовил модуль, который позволяет общаться с бесплатной версией ChatGPT из консоли PowerShell, который вы можете установить, используя всего две команды, а так же покажу, как просто создать такой модуль. Хочу заметить, что осознанно выделяю данную статью в средний уровень сложности Habr, по итогам ознакомления, для людей базово знакомых с PowerShell (для этого у меня есть отдельная работа с заметками), порог вхождения будет минимален.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 3

REST API/Web сервер на PowerShell

Уровень сложности Сложный
Время на прочтение 12 мин
Количество просмотров 7.4K

Все привет! В продолжение статьи о возможностях PowerShell, хочу поделиться несложной реализацией создания REST API и простого Web-сервера, используя только PowerShell на базе класса .NET HttpListener. Такая реализация позволяет настроить endpoint (конечные точки) для обработки GET и POST запросов, которые принимают параметры в заголовке запроса, использовать Basic-авторизацию (на основе Base64), обрабатывать любые коды возврата, а так же без лишнего кода, отдавать информацию в разных форматах: json, xml, html, csv.

https://habr.com/ru/articles/782592
Всего голосов 22: ↑22 и ↓0 +22
Комментарии 3

PowerShell и его возможности в уходящем году

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 9.2K

Все привет! В уходящем году хочу оставить небольшой след про такой сильный язык программирования, как PowerShell. Вероятно, уже в следующем году, ввиду тенденции отказа от Windows систем в нашей стране, моя практика в этой области закончится, а за пару лет активности, так и не собрался с силами опубликовать что-то подобное. Кода тут не будет, для этого у меня есть отдельная работа с заметками, цель статьи, еще раз подчеркнуть реальные возможности данного языка, где я буду ссылаться на работы, которые я старался делать универсальными, а так же сделаю акцент на полезных модулях.

Буквально два года назад, имея базовые знания навигации в консоли Linux, написание несложных batch-файлов и небольшой опыт VBScript открыл для себя PowerShell, и после этого я уже в прямом смысле этого слова, не мог остановиться реализовывать свои идеи, правда, такое дело очень затягивает. В один момент решился завести канал на GitHub и там же по сей день виду работу с заметками, где за это время накопилось более 6 тысяч строк из описания работы cmdlet (PowerShell-команд) и утилит для Системного Администратора (AD, Exchange, VMWare, MSSQL и т.д.) с примерами, ведь далеко не все получалось найти в интернете, порой, только изучая на практике свойства и методы объектов, можно получить желаемый результат. Так же набралась небольшая коллекция модулей и тестовый стенд WinForms с примерами работы различных методов, на котором я в дальнейшем базировался для написания приложений с графическим интерфейсом. Все работы писал по большей части для себя с целью автоматизировать и разгрузить текущий рабочий процесс, иногда помочь коллегам, именно по этому мне хочется поделиться своими наработками, возможно кому-то это еще сможет пригодиться.

Читать далее
Всего голосов 18: ↑17 и ↓1 +16
Комментарии 15

Информатизация вуза. Удаленная установка принтеров на rdsh с помощью Powershell

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 2.8K

Здравствуйте уважаемые читатели. Эта небольшая статья больше шпаргалка для меня, но, надеюсь, она будет полезна и другим. Всем, кто проявит интерес к статье буду признателен, особенно тем, кто укажет на недочеты. Жду ваши комментарии.

Итак начнем. Задача, которую пытались решить - это установка принтеров на терминальные серверы (нынче серверы узлов сеансов) фермы. Было несколько путей:

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 12

MSSQL: Rebuild vs Reorganize в высоконагруженных системах

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 2.9K

В двух прошлых статьях я разобрал Index REBUILD в Enterprise и Standard editions. Настало время осветить Index Reorganize - то есть Index Rebuild для бедных. Рекомендую заглянуть в статьи по ссылкам выше - там описан скрипт, который выполняет rebuild или reorg, контролируя течение процесса.

Ведь index reorganize не держит долгих блокировок, почти не нагружает сервер, работая в одном треде, поэтому он безопасен, так? Правда? Ведь правда?

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 0

Переносим пользователей из AD в FreeIPA

Время на прочтение 3 мин
Количество просмотров 9.7K

В связи с уходом Microsoft из России у многих возник вопрос о переносе службы каталогов на open-source или решения из реестра отечественного ПО. Одним из доступных решений является FreeIPA. Проект живет при поддержке RedHat и доступен в репозиториях отечественных операционных систем.

В этой статье мы рассмотрим перенос учетных записей с нужными нам атрибутами из Active Directory в FreeIPA 4.10.1. В качестве инструмента мы будем использовать Microsoft PowerShell.

Читать целиком
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 6

BypassAV, бесфайловая атака и AMSI (теория)

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 2.3K

В этой статье рассмотрены типовые механизмы современных антивирусных средств, виды нагрузок, используемые злоумышленниками и специалистами в области информационной безопасности, а также методы обхода защиты. Эти знания помогут специалистам по информационной безопасности лучше понять логику атакующих и повысить защищенность своей организации.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 2

Конструируем нейронную сеть для выявления вредоносного кода PowerShell

Уровень сложности Средний
Время на прочтение 17 мин
Количество просмотров 5.1K

Технологии машинного обучения все стремительней входят в нашу жизнь и находят применение в различных сферах деятельности. В медицине развивается диагностика различных заболеваний и методов лечения. В автомобильной промышленности машинное обучение успешно применяется в сервисах для помощи водителю и готовится полноценно забрать управление автомобилем на себя. В финансовой сфере ML используются для прогнозирования рынка и определения рисков. А что происходит в сфере информационной безопасности?

В ИБ технологии машинного обучения успешно применяются в системах защиты информации, таких как IDS/IPS, WAF, Antivirus, Anti-phishing и т.д. Все эти СЗИ обрабатывают огромные объемы данных, и выявление атак сопряжено с большой вариативностью техник злоумышленника. Конечно же сигнатурный анализ не готов уйти в историю и является основой для выявления угроз, но есть ряд существенных ограничений. В основном, правила направлены на выявление известных техник и не всегда способны учесть все возможные вариации, т.е. направлены на выявление ряда частных случаев. Соответственно, выявление неизвестных атак достаточно проблематично.

Модели машинного обучения позволяют решить эти проблемы, так как способны обучаться на больших данных и выявлять аномальные паттерны, которые невозможно учесть при сигнатурном анализе. В современных СЗИ данные технологии применяются совместно и дополняют друг друга.

Аналогичные проблемы существуют и в SOC относительно методик выявления инцидентов ИБ. Основой являются правила корреляции SIEM которые в отдельных кейсах стремятся покрыть выявление всех возможных атак, но не могут этого сделать в виду различных ограничений. В отличие от СЗИ, машинное обучение в инструментах SOC развито достаточно слабо. Мы тестировали ряд систем, таких как Anomaly Detection и UEBA, но широкого применения в SOC они не нашли из-за большого количества ложных срабатываний. Других инструментов направленных на выявление инцидентов ИБ нам, к сожалению, найти не удалось.

Как говорится, хочешь сделать хорошо - сделай сам! Вооружившись этой идеей, мы решили выделить некоторые точечные кейсы, с проблематикой описанной выше, и автоматизировать выявление с применением машинного обучения. В данной статье мы поделимся нашим опытом на примере выявления вредоносного кода PowerShell, соберем нейронную сеть и рассмотрим варианты ее использования совместно с SIEM.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 2

MSSQL: ребилд индексов в высоко нагруженных системах, Standard Edition

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 3.1K

В одной из моих предыдущих статей я рассказал о скрипте с названием GentleRebuild, который делал index rebuild в базах, работающих под нагрузкой 24/7, когда нет maintenance window, в Enterprise Edition. Там можно использовать опции ONLINE=ON и даже RESUMABLE=ON, вежливо уступая основной нагрузке базы.

А как же Standard Edition, где этого нет? Каюсь, раньше у меня в скрипте даже стояла проверка, и для Standard Edition скрипт сразу завершался. Но шеф меня попросил заняться и серверами со Standard Edition, и мне пришлось выжать из ситуации максимум.

Читать далее
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 1

Информатизация вуза. Бэкапы виртуальных машин, баз данных, файлов

Уровень сложности Простой
Время на прочтение 12 мин
Количество просмотров 6.1K

Здравствуйте. В этой статье хотел бы разобрать кейс создания резервных копий. Я опишу свои методы, и прошу Вас поделиться опытом о том, как Вы решали данные задачи. Я опишу самые простые технологии, но они эффективны и выполняют поставленную задачу…

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

Но начну с такой информации…

Статья 274 УК РФ. Нарушение правил эксплуатации средств хранения, обработки или передачи компьютерной информации и информационно‑телекоммуникационных сетей

1. Нарушение правил эксплуатации средств хранения, обработки или передачи охраняемой компьютерной информации либо информационно‑телекоммуникационных сетей и оконечного оборудования, а также правил доступа к информационно‑телекоммуникационным сетям, повлекшее уничтожение, блокирование, модификацию либо копирование компьютерной информации, причинившее крупный ущерб, — наказывается штрафом в размере до пятисот тысяч рублей или в размере заработной платы или иного дохода, осужденного за период до восемнадцати месяцев, либо исправительными работами на срок от шести месяцев до одного года, либо ограничением свободы на срок до двух лет, либо принудительными работами на срок до двух лет, либо лишением свободы на тот же срок.

2. Деяние, предусмотренное частью первой настоящей статьи, если оно повлекло тяжкие последствия или создало угрозу их наступления, — наказывается принудительными работами на срок до пяти лет либо лишением свободы на тот же срок.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 24

GitHub: переименование множества файлов в репозитории

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 6K

В статье я рассказываю, как в репозитории веб-сервиса «GitHub» можно переименовать сразу множество файлов одним коммитом.

У меня небольшой учебный репозиторий, с которым я работаю через веб-интерфейс. Через веб-интерфейс можно переименовывать файлы по одиночке, но иногда появляется необходимость переименовать сразу много файлов по одному и тому же принципу. Операция переименования состоит из нескольких этапов: клонирование репозитория на свой компьютер, написание скрипта для переименования множества файлов и запуск переименования, создание коммита и отправка изменений в оригинальный репозиторий на «GitHub».

По ходу дела я касаюсь работы с «Git» из командной строки, немного разбираю настройку Git-репозитория, пишу скрипт на языке PowerShell, работаю с регулярными выражениями и создаю гранулированный токен доступа в «GitHub».

Читать далее
Всего голосов 48: ↑4 и ↓44 -40
Комментарии 55

Ближайшие события

Получение подписантов в ЭДО через API СБИС и Диадок

Уровень сложности Средний
Время на прочтение 22 мин
Количество просмотров 2.4K

Всем привет. Эта статья будет полезна тем, кто столкнулся с проблемой проверок доверенностей при работе с электронным документооборотом через СБИС и Диадок.  Речь идет не о МЧД (машиночитаемой доверенности), а о проверке обычных бумажных доверок.

Так же возможно кому то просто будет полезно почерпнуть принципы работы через API.

Ко мне эта задача прилетела от юристов, нашей компании, которые постоянно проверяли документы вручную. (смотрели вручную кем подписан документ и потом искали эту доверенность в сканах.

Читать далее
Рейтинг 0
Комментарии 3

MSSQL: снова о дефрагментации и SHRINK

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 6.1K

Начнем с хороших новостей. Какое то время назад я написал статью Дефрагментация таблиц в высоко нагруженных базах данных (MSSQL). За это время я еще больше отшлифовал скрипт на production, и отдел безопасности фирмы, где я сейчас работаю, разрешил выложить его в open source (репо на github). Приглашаю воспользоваться им и писать мне о багах и пожеланиях.

Ниже я приведу краткий update к статье - кое в чем я теперь с ней не согласен. Кроме того, опишу опыт SHRINK - почему его лучше никогда не делать, почему все-таки иногда нужно делать и как его готовить.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 5

Магия превращений: клик на сайте в выполнение Powershell скрипта на сервере

Уровень сложности Средний
Время на прочтение 22 мин
Количество просмотров 6.3K

Сегодня мы научимся создавать веб интерфейсы для администрирования. Будем запускать Powershell код по клику на сайте или при обращении к API. Для наглядности напишем три сервиса, взаимодействующих со службами, Active Directory и файловой системой.

Начать автоматизировать
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 0

Как и зачем отключать TLS 1.0 и TLS 1.1 в Windows Server

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 14K

Ввиду недостаточного уровня безопасности, обеспечиваемого устаревшими протоколами TLS 1.0 и TLS 1.1, их рекомендуется отключать и использовать более новые версии TLS 1.2 и TLS 1.3. В статье мы кратко проговорим отличия старых и новых реализаций этого протокола, а также разберём три способа отключения TLS 1.0 и TLS 1.1: через реестр, команды PowerShell или командную строку.
Читать дальше →
Всего голосов 43: ↑39 и ↓4 +35
Комментарии 27

PowerShell и LiveJournal (ЖЖ): скачивание постов журнала

Уровень сложности Средний
Время на прочтение 15 мин
Количество просмотров 1.9K

У блог-платформы «LiveJournal» есть набор удалённых функций и протокол их вызова для сторонних веб-клиентов. В этой статье я описываю, какие из этих функций удобно использовать для загрузки к себе на компьютер всех постов своего журнала (блога). Также я даю пояснения к алгоритму загрузки всех постов, показанному в виде псевдокода в документации к клиент-серверному протоколу «LiveJournal», и привожу его перевод на русский язык с некоторыми изменениями.

В конце статьи я описываю свою практическую реализацию алгоритма загрузки постов на языке PowerShell. В статье есть иллюстрация работы полученного скрипта и ссылка на его исходный код на веб-сервисе «GitHub».

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 10

Ужасы PowerShell

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 10K

Мне часто приходится пользоваться PowerShell. Конечно, его создатели не имели никакого представления о прекрасном и эстетике. Уродливость PowerShell особенна видна при его сравнении, например, с Python. С другой стороны, как говорится, c лица не воду пить - работает и хорошо? Но нет, мне кажется в PowerShell есть по крайней мере пара моментов, которые фатально влияют на его практическое применение.

Читать далее
Всего голосов 33: ↑27 и ↓6 +21
Комментарии 52

PowerShell и LiveJournal (ЖЖ): три способа аутентификации

Уровень сложности Средний
Время на прочтение 15 мин
Количество просмотров 1.7K

Я изучаю сетевое взаимодействие по протоколу HTTP(S). Мне было интересно попробовать связаться с «Живым Журналом» (он же «LiveJournal» или «ЖЖ») из программы-оболочки «PowerShell» и получить от этого веб-сервиса какие-нибудь данные.

В статье описаны подходы к началу работы с ЖЖ из программы через веб. Даны ссылки на документацию. Детально, с практическими примерами на языке PowerShell, описано три способа аутентификации при вызове удалённых процедур (функций) программы-сервера «Живого Журнала»: «clear», «challenge-response» и способ с помощью «cookie». В последнем случае описано, как открыть сессию, работать в ней, а затем завершить ее.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 0

Вклад авторов