Все потоки
Поиск
Написать публикацию
Обновить
1.88

PowerShell *

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

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

Как я сделал систему приема платежей в Minecraft на чистом PowerShell

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

В этой статье мы прикрутим богомерзкий донат к ванильному серверу Minecraft с помощью Powershell. Преимущество метода в том, что майнкрафт это лишь частный случай реализации автоматических платежей с помощью консольных команд. Мы лишь слушаем, что нам присылает платежная система и заворачиваем это в команду. И главное – никаких плагинов.
А принимать платежи мы будем через PayPal. Самое главное, для того чтобы начать принимать платежи не нужно изменять код, PayPal отправит нам все что нужно. На сайте будем использовать через кнопки, так что на сайте можно обойтись чистым HTML. Абстрагируемся от тонкостей самой платежной системы и сконцентрируемся только на основных моментах в коде.
Читать дальше →

Как построить ракетный ускоритель для скриптов PowerCLI 

Время на прочтение9 мин
Количество просмотров3K
Рано или поздно любой системный администратор VMware доходит до автоматизации рутинных задач. Начинается все с командной строки, потом идет PowerShell или VMware PowerCLI.

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

В этой ситуации выручат 2 инструмента:

  • PowerShell Runspaces – подход, который позволяет распараллелить выполнение процессов в отдельных потоках; 
  • Get-View – базовая функция PowerCLI, аналог Get-WMIObject в Windows. Этот командлет не тянет за собой сопутствующие сущности объекты, а получает информацию в виде простого объекта с простыми типами данных. Во многих случаях выходит быстрее.

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


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

Что такое Windows PowerShell и с чем его едят? Часть 5: Доступ к внешним объектам

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


В операционных системах Windows поддерживаются различные объектные инфраструктуры. Для доступа к ним можно использовать интерфейсы прикладного программирования (API), но разработка полноценных приложений не всегда оправдана. В PowerShell существуют специальные командлеты, позволяющие обращаться к объектам .NET, COM, WMI (CIM) и ADSI в интерактивном режиме. В четвертой части цикла мы изучили основы с упором на классы .NET Core, а сейчас хотим углубить тему и разобрать особенности взаимодействия PowerShell с внешними объектами.
Читать дальше →

Идеальный скрипт запуска сервера Minecraft

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


Автор очень любит игру, и сам является администратором небольшого сервера «чисто для друзей». Как водится среди любителей, на сервере замодировано все, а это влечёт за собой нестабильность работы и как следствие падения. Так как Powershell автор знает лучше, чем расположение магазинов на своей улице, он принял решение сделать «Лучший Скрипт Для Запуска Майнкрафт 2020». Этот же скрипт послужил основой для шаблона в маркетплейсе Ruvds. Но все исходники уже есть в статье. Сейчас по порядку, как это все производилось.
Читать дальше →

Что такое Windows PowerShell и с чем его едят? Часть 4: Работа с объектами, собственные классы

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


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

Делегируем управление RDP-сеансами

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

В организации, где я работаю, удаленка запрещена в принципе. Была. До прошлой недели. Теперь пришлось в срочном порядке внедрять решение. От бизнеса — адаптация процессов к новому формату работы, от нас — PKI с пин-кодами и токенами, VPN, детальное логирование и много чего ещё.
Помимо всего прочего, я занимался настройкой инфраструктуры удаленных рабочих столов aka службы терминалов. У нас несколько RDS-развертываний в разных ЦОДах. Одной из задач было дать возможность коллегам из смежных подразделений ИТ подключаться к пользовательским сеансам в интерактивном режиме. Как известно, для этого есть штатный механизм RDS Shadow и самый простой способ его делегировать — дать права локального администратора на RDS-серверах.
Я уважаю и ценю своих коллег, но очень жадный до раздачи админских прав. :) Тех, кто со мной солидарен, прошу под кат.
Читать дальше →

Вышла первая превью-версия Microsoft PowerShell 7.1 для Windows, Linux и macOS

Время на прочтение3 мин
Количество просмотров7.3K
Компания Microsoft выпустила новую превью-версию PowerShell 7.1 — средства для автоматизации работы и языка сценариев для Windows, Linux и macOS. Эта версия содержит в себе возможности, которых не было в PowerShell 7.0. Общедоступная версия PowerShell 7.0, которой предшествовала платформа PowerShell Core 6.x, выпущена в начале Марта сего года.



Превью PowerShell 7.1 включает в себя новые модули и инструменты, над которыми работает команда PowerShell. Но нет гарантии того, что всё это попадёт в обычный выпуск PowerShell 7.1, который должен выйти через неделю или две после выхода платформы .NET 5. Это так из-за того, что, начиная с PowerShell 7.0, Microsoft согласует выход новых версий PowerShell с расписанием выхода новых версий .NET.
Читать дальше →

Что такое Windows PowerShell и с чем его едят? Часть 3: передача параметров в скрипты и функции, создание командлетов

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


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

Представляем PowerShell 7.0

Время на прочтение4 мин
Количество просмотров19K
Сегодня мы рады объявить о выпуске общедоступной (GA) версии PowerShell 7.0! Прежде всего, мы хотели бы поблагодарить наших многочисленных контрибьюторов за то, что сделали этот выпуск возможным, поделившись кодом, тестами, документацией и отзывами о проблемах. PowerShell 7 не был бы возможен без вашей помощи.



Что такое PowerShell 7?


Для новичков, PowerShell 7 является последним крупным обновлением PowerShell, кросс-платформенного (Windows, Linux и macOS) инструмента автоматизации и инфраструктуры конфигурации, оптимизированной для работы со структурированными данными (например, JSON, CSV, XML и т. д.), REST API и объектными моделями. PowerShell включает оболочку командной строки, объектно-ориентированный язык сценариев и набор инструментов для выполнения сценариев/командлетов и управления модулями.
Читать дальше →

Что такое Windows PowerShell и с чем его едят? Часть 2: введение в язык программирования

Время на прочтение11 мин
Количество просмотров79K
Исторически утилиты командной строки в Unix-системах развиты лучше чем в Windows, однако с появлением нового решения ситуация изменилась.

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

Windows Terminal Preview v0.9

Время на прочтение3 мин
Количество просмотров14K
Состоялся релиз 0.9 версии Windows Terminal. Это последняя версия Терминала, которая будет включать в себя новые функции до выхода v1. Вы можете загрузить Windows Terminal из Microsoft Store или со страницы выпусков на GitHub. Давайте подробнее рассмотрим детали обновления!

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

Выкупать — так королеву: Varonis расследует быстро распространяющийся шифровальщик-вымогатель “SaveTheQueen”

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


Новая разновидность вредоносного ПО класса вирусов-вымогателей зашифровывает файлы и добавляет к ним расширение ".SaveTheQueen", распространяясь через системную сетевую папку SYSVOL на контроллерах доменов Active Directory.

Наши заказчики столкнулись с этим вредоносом недавно. Приводим наш полный анализ, его результаты и выводы ниже.
Читать дальше →

Что такое Windows PowerShell и с чем его едят? Часть 1: основные возможности

Время на прочтение8 мин
Количество просмотров403K
Исторически утилиты командной строки в Unix-системах развиты лучше чем в Windows, однако с появлением нового решения ситуация изменилась.

Windows PowerShell позволяет системным администраторам автоматизировать большинство рутинных задач. С ее помощью можно менять настройки, останавливать и запускать сервисы, а также производить обслуживание большинства установленных приложений. Воспринимать синее окошко как еще один интерпретатор команд было бы неправильно. Такой подход не отражает сути предложенных корпорацией Microsoft инноваций. На самом деле возможности Windows PowerShell гораздо шире: в небольшом цикле статей мы попробуем разобраться, чем решение Microsoft отличается от более привычных нам средств.


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

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

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

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

Всем привет!


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


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


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


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


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


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

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

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

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

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


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


Магия кастов


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

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

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

Время на прочтение26 мин
Количество просмотров75K
image

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

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

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

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

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

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

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

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

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

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

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


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

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

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


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


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


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

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

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

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

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