Обновить
28.23

PowerShell *

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

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

Выбор архиватора для бэкапа логов

Время на прочтение11 мин
Охват и читатели9.5K

Всем привет!


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


Подразделение, в котором я работаю, занимается разработкой и сопровождением единой фронт офисной системы Банка. Я отвечаю за ее сопровождение, мониторинг и DevOps.


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


Ежедневно наша система генерирует более 130 ГБ «сырых» логов и, несмотря на то, что мы используем ENG стек (Elasticsearch Nxlog Graylog), файловые логи содержат гораздо больше информации (например, stack trace ошибок), поэтому требуют архивирования и хранения.


Так как место хранения ограничено, встаёт вопрос: «А какой архиватор лучше всего справится с этой задачей».


Для решения этого вопроса я написал скрипт на языке PowerShell, который произвел анализ за меня.

Читать дальше →

Функциональный Powershell с классами — не оксюморон, я гарантирую это

Время на прочтение6 мин
Охват и читатели7.2K

Привет, Хабр! Представляю вашему вниманию перевод статьи "Functional PowerShell with Classes.
I promise it’s not an oxymoron"
автора Christopher Kuech.


Объектно-ориентированная и функциональная парадигмы программирования могут казаться не в ладах друг с другом, но обе в равной мере поддерживаются в Powershell. Практически все программные языки, функциональные и нет, имеют средства расширенного связывания имён и значений; Классы, подобно struct-ам и record-ам, это всего лишь один подход. Если мы ограничим использование Классов связыванием имён и значений и станем избегать таких "тяжёлых" объектно-ориентированных программных концепций, как наследование, полиморфизм, или изменяемость (mutability), мы сможем использовать их преимущества, не усложняя наш код. Далее, добавляя неизменяемые (immutable) методы преобразования типов, мы можем обогатить Классами наш функциональный код.


Магия кастов


Касты одна из самых мощных фич в Powershell. Когда вы подвергаете значение касту, вы полагаетесь на добавляемую средой в ваше приложение возможность неявных инициализации и валидации. Например, простой каст строки в [xml] прогонит её через код парсера и сгенерирует полное дерево xml. Мы можем в своём коде использовать Классы с той же целью.

Читать дальше →

Telegram-бот для управления инфраструктурой

Время на прочтение26 мин
Охват и читатели78K
image

По мотивам статьи Телеграмм-бот для системного администратора (статья не моя, я только прочитал) захотел поделиться опытом создания Telegram-бота на PowerShell для управления серверами приложений. Будет текст, код и немножко картинок. Конструктивная критика приветствуется ( главное чтобы не звучало «зачем на PowerShell? Надо было на perl» ).

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

Саму статью старался построить по частям – от простого к сложному. Возможно, встретится плагиат, будьте бдительны!

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

  • Простота добавления/изменения задач в Telegram-бот
  • Многозадачность или параллелизация
  • «Понятный» интерфейс управления
  • Хоть какая-то безопасность
Читать дальше →

Пытаемся автоматизировать процессы с помощью Powershell

Время на прочтение4 мин
Охват и читатели29K

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

В этом руководстве рассмотрим несколько крутых по мнению автора команд и расскажем почему это круто. Начнем со снипетов.
Читать дальше →

Мой нереализованный проект. Сеть из 200 маршрутизаторов MikroTik

Время на прочтение8 мин
Охват и читатели28K


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

Делаем один проект плагина с компиляцией под разные версии Revit/AutoCAD

Время на прочтение13 мин
Охват и читатели14K


При разработке плагинов для САПР приложений (в моем случае это AutoCAD, Revit и Renga) со временем появляется одна проблема – выходят новые версии программ, меняется их API и нужно делать новые версии плагинов.


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


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

Читать дальше →

Масштабное назначение прав на пользователей доменов из разных лесов

Время на прочтение4 мин
Охват и читатели6.9K
Видимо у меня карма такая: реализовывать стандартные задачи всякими нетривиальными способами. Если у кого-то окажется другое видение проблемы — прошу в обсуждение, для проработки вопроса.

Одним прекрасным утром появилась интересная задача раздать права группам пользователей на разные шары, содержащие подпапки проектов с папками документов. Все было хорошо и был написан скрипт назначающий права на папки. А затем выяснилось, что группы должны содержать пользователей разных доменов, из разных лесов (для тех кто забыл что это). Допустим, сама шара, размещается на носителе Synology, зарегистрированном в домене FB, леса PSI. Задача: разрешить пользователям доменов другого леса иметь доступ к содержимому данной шары, причем очень избирательно.
Читать дальше →

Hyper-V для разработчиков под Windows 10

Время на прочтение6 мин
Охват и читатели77K
Hyper-V более известен как технология виртуализации серверов; однако, начиная с Windows 8, он также доступен в клиентской операционной системе. В Windows 10 мы значительно улучшили работу, сделав Hyper-V отличным решением для разработчиков и ИТ-специалистов.
 
Microsoft Hyper-V, кодовое название Viridian, — это нативный (тип 1) гипервизор, который, в отличие от VMware Workstation, VirtualBox и других гипервизоров типа 2, работает непосредственно на оборудовании. Впервые он был выпущен в Windows Server 2008 и позволяет запускать виртуальные машины в системах x86-64.

Hyper-V позволяет разработчикам быстро разгонять виртуальные машины для разработки на Windows 10 с превосходной производительностью, но он также используется в нескольких других функциях разработки в качестве серверной технологии, например, в таких как эмулятор Android, подсистема Windows для Linux 2 (WSL2) или контейнеры Docker. В этой статье мы кратко рассмотрим, как Hyper-V в Windows 10 может помочь разработчикам.
Читать дальше →

Порядок в фотоархиве средствами powershell

Время на прочтение3 мин
Охват и читатели8.4K
Привет, Хабр!

На днях возникла типовая задача — помочь знакомой превратить гору фотографий в упорядоченную иерархию. Всё бы ничего, но гор фотографий не одна, а две — на Mac и на ноуте под Win10. В поисках решения, наткнулся на несколько сценариев для linux, а вот чего-то такого кроссплатформенного найти не удалось. Будем писать сами — прошу под кат.
Читать дальше →

Использование PowerShell для сбора информации об инциденте

Время на прочтение5 мин
Охват и читатели9K
PowerShell достаточно распространенное средство автоматизации, которое часто используется, как разработчиками вредоносных программ, так и специалистами по информационной безопасности.
В данной статье будет рассмотрен вариант использования PowerShell для удаленного сбора данных с конечных устройств при реагировании на инциденты ИБ. Для этого потребуется написать скрипт, который будет запускаться на конечном устройстве и далее будет подробное описание данного скрипта.
Читать дальше →

О разных тиках замолвите слово или как не получить ошибку в Powershell при работе с Get-Date

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели3.9K
Доброго дня, любители Powershell.

Я люблю его, и сегодня заметил одну странность, которая мотивировала к написанию данного поста. Думаю, вам тоже будет интересно. Дело о лишнем тике. Если интересно, добро пожаловать под кат:
Читать дальше →

PowerShell в роли инструмента для пентеста: скрипты и примеры от Varonis

Время на прочтение7 мин
Охват и читатели16K


Хакеры любят использовать PowerShell для запуска «fileless malware» — бестелесных вредоносных программ, которые не являются традиционными бинарными файлами с компилированным вредоносным кодом, и по этой причине подчас не могут быть обнаружены антивирусными решениями.

PowerShell, конечно же, всегда имел вполне нормальное предназначение, никак поначалу вообще не связанное с тестированием на проникновение. Те из вас, кто захочет узнать предысторию появления на свет PowerShell, должны почитать знаменитый Манифест Монады. Написанный одним из первоначальных разработчиков, этот манифест объясняет, зачем Microsoft потребовался новый язык описания сценариев (проще говоря, скриптов), который в конечном итоге и превратился в PowerShell.
Читать дальше →

Интегрируем команды Linux в Windows с помощью PowerShell и WSL

Время на прочтение8 мин
Охват и читатели21K
Типичный вопрос разработчиков под Windows: «Почему здесь до сих пор нет <ВСТАВЬТЕ ТУТ ЛЮБИМУЮ КОМАНДУ LINUX>?». Будь то мощное пролистывание less или привычные инструменты grep или sed, разработчики под Windows хотят получить лёгкий доступ к этим командам в повседневной работе.

Подсистема Windows для Linux (WSL) сделала огромный шаг вперёд в этом отношении. Она позволяет вызывать команды Linux из Windows, проксируя их через wsl.exe (например, wsl ls). Хотя это значительное улучшение, но такой вариант страдает от ряда недостатков.
Читать дальше →

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

Создание Google пользователей из PowerShell через API

Время на прочтение10 мин
Охват и читатели3.1K
Привет!

В этой статье будет описана реализация взаимодействия PowerShell с Google API для проведения манипуляций с пользователями G Suite.

В организации мы используем несколько внутренних и облачных сервисов. По большей части авторизация в них сводится к Google или Active Directory, между которыми мы не можем поддерживать реплику, соответственно, при выходе нового сотрудника нужно создать/включить аккаунт в этих двух системах. Для автоматизации процесса мы решили написать скрипт, который собирает информацию и отправляет в оба сервиса.
Читать дальше →

Windows: узнаём, кто где залогинен

Время на прочтение5 мин
Охват и читатели112K

— Ой, у меня ничего не работает, помогите!
— Не переживайте, сейчас всё исправим. Назовите имя компьютера…
(классика жанра из звонков в техподдержку)

Хорошо, если у вас есть инструмент а-ля BgInfo или ваши пользователи знают про шорткат Windows+Pause/Break и умеют его нажимать. Встречаются даже редкие экземпляры, которые успели выучить имя своей машины. Но часто у звонящего вдобавок к его основной проблеме появляется вторая: узнать имя/IP-адрес компьютера. И нередко на решение этой второй проблемы уходит куда больше времени, чем первой (а надо было всего лишь обои поменять или вернуть пропавший ярлык :).
А ведь намного приятнее услышать что-то вроде:
— Татьяна Сергеевна, не беспокойтесь, уже подключаюсь…

Читать дальше →

Скрипт настройки Windows 10

Время на прочтение2 мин
Охват и читатели176K

image
Давно хотел поделиться своим скриптом по автоматизации настройки Windows 10 (на данный момент актуальная версия 19041), да все руки не доходили. Возможно, он будет кому-то полезен целиком или только его части. Конечно, будет проблематично описать все пункты настройки, но постараюсь выделить самое важное.

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

Читать дальше →

Мониторинг доступности хостов на Powershell

Время на прочтение13 мин
Охват и читатели34K
Всем доброго времени суток, хочу поделиться простой инструкцией «Как можно перестать вручную пинговать десяток хостов. Без регистрации и СМС!».

С просторов Интернета

Важно: я не программист и не системный администратор, но мне приходиться работать одновременно с большим набором серверов и сервисов и данный скрипт я написал для собственного удобства.

Всех кому это может быть полезно любопытно, прошу под кат.

Читать дальше →

7 ключевых индикаторов риска Active Directory на панели мониторинга Varonis

Время на прочтение8 мин
Охват и читатели20K


Все, что нужно злоумышленнику, – это время и мотивация для проникновения в вашу сеть. Но наша с вами работа состоит в том, чтобы не дать ему этого сделать или, по крайней мере, максимально усложнить эту задачу. Нужно начать с определения слабых мест в Active Directory (далее – AD), которые злоумышленник может использовать для получения доступа и перемещения по сети, оставаясь незамеченным. Сегодня в статье мы рассмотрим индикаторы риска, которые отражают имеющиеся уязвимости в киберзащите вашей организации, на примере панели мониторинга AD Varonis.
Читать дальше →

Приключения неуловимой малвари: многосторонняя оборона (заключительные мысли)

Время на прочтение3 мин
Охват и читатели3.5K


Эта статья является частью серии «Fileless Malware». Все остальные части серии:


Думаю, все мы можем согласиться с тем, что у хакеров есть много трюков и методов, чтобы скрытно войти в вашу ИТ-инфраструктуру и остаться там незамеченными, пока они крадут ваши цифровые активы. Ключевой вывод этой серии заключается в том, что обнаружение вредоносных программ на основе сигнатур легко обходится даже несложными подходами, некоторые из которых я представил в этой серии.
Читать дальше →

Приключения неуловимой малвари, часть V: еще больше DDE и COM-скриплетов

Время на прочтение4 мин
Охват и читатели3.8K


Эта статья является частью серии «Fileless Malware». Все остальные части серии:


В этой серии статей мы изучаем методы атак, которые предполагают минимальные усилия со стороны хакеров. В прошлой статье мы рассмотрели, что можно вставить сам код в полезную нагрузку автоматического поля DDE в Microsoft Word. Открыв такой документ, вложенный в фишинговое письмо, неосторожный пользователь сам позволит злоумышленнику закрепиться на своем компьютере. Однако в конце 2017 года Microsoft закрыла данную лазейку для атак на DDE.
Исправление добавляет запись реестра, которая отключает функции DDE в Word. Если же вам все же нужна данная функциональность, то вы можете вернуть этот параметр, включив старые возможности DDE.

Однако оригинальный патч охватывал только Microsoft Word. Существуют ли эти DDE-уязвимости в других продуктах Microsoft Office, которые также можно было бы использовать в атаках без лишнего кода? Да, конечно. Например, вы также можете найти их в Excel.
Читать дальше →