Обзор двух устаревших методов преобразования кода на языке HTML в объект (HTML-парсер) на скриптовом языке PowerShell в операционной системе Windows 10.

PowerShell *
Расширяемое средство автоматизации от Microsoft
Out-GridView with Custom Columns
Командлет Out-GridView
можно использовать как универсальный диалоговый интерфейс, для этого предназначены параметры -OutputMode
и -PassThru
. С ними окно табличного представления (грид) отображает справа внизу дополнительные кнопки, и вы можете передать следующим командлетам выбранные строки.
Как определить версию Windows?

Как же определить версию Windows, работающую в корпоративном окружении?
Вопрос кажется простым, правда?
Microsoft позволяет определить номер версии Windows различными способами:
- Существуют значения в реестре, которым отчаянно не хватает документации.
- Есть множество командлетов PowerShell, вызовов Windows API и т. п.
- Также есть варианты для конечного пользователя, например, команда
winver
, которая вызывает всплывающее окно с версией Windows. - И много других способов…
Разобраться во всём этом вам поможет наш пост.
Как подружить openssl и powershell, или подпись на основе RSA для самых маленьких
В один прекрасный день наш сертификат подписи кода протух.
Ну протух и протух, случается. У нас же есть новый сертификат! Щас переподпишем, и всё заработает!
А вот и нет. У нового сертификата - новая цепочка доверия, а владельцы системы куда мы ставимся не настроены устанавливать сертификаты от (в принципе весьма известного) CA в своё хранилище доверенных сертификатов.
Но они готовы использовать на своей стороне скрипт на powershell, который будет проверять валидность, а потом устанавливать без проверки подписей. Да и мы хотим быть уверены, что устанавливаться будет именно наш код. А пакуем мы код на машине, на которую powershell ставить не хочется.
Так что призовём на помощь криптографию, и набьём немного шишек.
4 PowerShell-скрипта для проверки действительности ваших SSL-сертификатов

Привет, Хабр! Меня зовут Андрей Благов, я архитектор центра профессиональных сервисов и R&D в облачном провайдере T1 Cloud, и сегодня речь пойдет о сертификатах SSL. Добавляйте статью в закладки, она вам точно пригодится. В ней я поделюсь PowerShell-скриптами для проверки действительности SSL-сертификатов.
А если ваш отдел мониторинга не находит на вас время, но перед вами стоит задача автоматизировать рутинные процессы — подписывайтесь на наш блог. В дальнейшем я планирую делиться личным опытом и рассказывать о том, как с помощью PowerShell можно наладить выгрузки отчетов, создавать проверки и оповещения по различным условиям.
Создание и использование собственных атрибутов AD в PowerShell

В этой статье я покажу вам, как можно расширять схему AD, создавать нестандартные атрибуты и управлять ими в AD — и всё это с помощью Windows PowerShell. Следуя этому руководству, вы сможете устанавливать и управлять собственными атрибутами AD с помощью PowerShell точно так же, как вы управляете другими атрибутами AD.
Стандартная схема Active Directory содержит большинство атрибутов, которые обычно требуются организации в инфраструктуре AD. Однако стандартных атрибутов не всегда достаточно, когда речь идёт о больших организациях. Когда я управлял Active Directory в крупной школе, меня попросили установить несколько атрибутов для пользователей, которые не были доступны в AD по умолчанию. Тогда мне пришлось расширять схему AD для определения кастомных атрибутов и устанавливать эти атрибуты для пользователей.
Использование PowerShell с $PSStyle

В PowerShell 7.2 появилась автоматическая переменная
$PSStyle
для новой функции под названием PSAnsiRendering. В этой статье я покажу, как можно использовать ANSI-рендеринг для управления оформлением текста, например цветом и стилизацией шрифта, в PowerShell.Уже некоторое время мы можем использовать в сеансе PowerShell escape-последовательности ANSI. Вы уже могли наблюдать это при вводе команд в командной строке. Команды, параметры, строки и операторы отображаются цветом. Эти цвета определяются как опции PSReadline.
Как мы делали сквозную аналитику из 1C в Power BI

В странах СНГ, принято создавать отчеты о деятельности компании в сводных таблицах Excel. Сказать, что это не юзабельно и не юзерфрендли для сложных отчётов – ничего не сказать.
Можно, конечно, попытаться как-то спасти положение различными графиками диаграмм, поэкспериментировать с VBA, попробовать с его помощью создать дашборд на стероидах, но надо быть готовым к тому, что графика будет начала нулевых, а сам отчёт скорее всего не будет интерактивным. Помимо этого, такие гибриды смотрятся некрасиво на мобильных устройствах и чаще всего оказываются совсем нечитабельными. Проблемой посерьёзнее является частота заполнения данных – раз в месяц, в лучшем случае. Это приводит к тому, что руководитель не может смотреть на положение бизнеса в режиме реального времени и предотвращать проблемы. Ему приходится мириться с положением дел в конце каждого месяца и решать всплывшие проблемы. Столько негатива, а ведь мы ещё даже не перешли на стадию автоматизации выгрузки данных в Excel, где и таятся все «черти» этого тихого омута.
В связи с этим, мы решили поделиться нашим опытом, чтобы помочь наибольшему количеству начинающих специалистов справиться с задачей подключения 1С к Power BI.
Извлечение хэша NTLM с помощью профилей PowerShell

Метод повышения привилегий, продемонстрированный в этой статье, является вариантом, используемым шпионскими группами. В нем описывается возможность использования злоумышленниками встроенных функций PowerShell для выполнения произвольных команд в контексте с повышенными правами (правами Администратора). Ниже приведена демонстрация извлечения хэшей NTLM.
Автоматическая раздача прав на файловом сервере

В 2021 году все еще многие компании используют файловые серверы для совместной работы, поэтому остается актуальным вопрос разграничения доступа на общих ресурсах.
Как правильно организовать доступ к файловым ресурсам описано в Best Practices от Microsoft, в том числе и в документе Windows Productivity for IT Professionals из Microsoft Resource Kit. В Сети можно найти множество статей на русском языке по организации файлового сервера, в том числе и на Хабре.
Например, вот эти:
Аспирин от настройки прав на файловом сервере
Правила хорошего тона для дизайна разрешений на файловых серверах
В статьях хорошо описано, что необходимо создавать группы доступа в Active Directory и уже потом раздавать права на папки шары этим группам и в свою очередь в эти группы доступа помещать пользователей или ролевые группы. Подход достаточно здравый и применим в большинстве практических ситуаций.
А что делать, если необходимо, раздать доступ на ресурсе, в котором 200 папок? И таких ресурсов у вас несколько штук.
Непопулярный pwsh

Несмотря на уже довольно давно пройденный рубеж одной операционной системы, PowerShell (далее просто pwsh) по-прежнему не занимает топовых позиций среди прочих языков, что, впрочем, нисколько не смущает киберпреступность. Первый зловред был написан ещё во времена первого поколения могучего шелла, затем были различного рода постэксплуатационные "фреймворки" для скомпрометированных систем, ну а там уж и анекдотов насочиняли. В смысле, была понаписана масса ненужного в информационном плане барахла вроде tips of day или how to do. Иными словами, информационная безопасность в контексте pwsh грозила перерасти в некий stand up, если бы не внезапно для многих случившаяся кроссплатформенность, на которой-то и споткнулись ряд проектов, не говоря уже о матёрых скриптописателях. Как ни странно, но в большинстве статей посвящённых расследованию инцидентов компрометации систем посредством pwsh используется пятая версия последнего. Между тем малварь, написанная на pwsh, существует и под Linux, и под MacOS, что великодушно игнорируется некоторыми ИБ экспертами, - винить во всём Microsoft уже не столько необходимо, сколько вошло в привычку.
WebSCO — альтернативная консоль для System Center Orchestrator

Наверное всем не нравится консоль для запуска ранбуков у Microsoft System Center Orchestrator. Она неудобная и тормозная. Давно вынашивал идею сделать что-то более удобное, избавиться от Silverlight и... наконец-то подвернулась возможность её реализовать.
Представляем Windows Terminal Preview 1.11

Поздравляем с днем выпуска Windows Terminal! В этом выпуске Windows Terminal Preview перешел в версию 1.11 и Windows Terminal в 1.10. Все функции из предыдущей версии теперь переходят в основной Windows Terminal, за исключением настроек терминала по умолчанию, страницы редактируемых действий и страницы Defaults пользовательского интерфейса настроек. Обе сборки терминала можно установить из Microsoft Store или со страницы выпусков GitHub. Давайте узнаем, что нового!
Ближайшие события
Microsoft Graph API Requests или иной способ управления Microsoft 365

Довольно часто приходят задачи написать скрипты для Microsoft 365, будь то репортинг или какие-то автоматизации. Как правило, сервисы входящие в пакет M365: Exchange Online, SharePoint Online или Microsoft Endpoint Manager - имеют свои отдельные модули для работы с ними из PowerShell. Однако возникают ситуации, когда функционала этих модулей недостаточно. В таких случаях остается либо ждать, когда этот функционал все же появится, либо писать скрипты под Graph API самому. Как правило это 2–3 функции основные, и множество их вариаций. В какой-то из дней при шедулинге очередного такого скрипта в голову прокралась идея, а почему бы не написать свой модуль для подобного рода запросов? Причем такой, который не ограничивался бы списком каких-то конкретных команд, и такой, чтобы если появилась какая-то новая функция, тем кто будет пользоваться этим модулем не пришлось бы ждать обновления со стороны разработчика. В итоге на свет появился Graph API Requests, модуль, который позволяет делать практически любого вида запросы к Microsoft Graph API, доступные и описанные в официальной документации Microsoft используя PowerShell.
Установка WSL с помощью одной команды стала доступна в Windows 10

В последних сборках Windows Insider Preview вы можете установить все необходимое для запуска WSL, просто выполнив wsl.exe --install. Мы рады сообщить, что эта функция теперь официально перенесена в Windows 10 версии 2004 и выше, что значительно упростит установку WSL в этих сборках.
Вышел Windows Terminal Preview 1.10

Настал день выхода Windows Terminal! В этом выпуске предварительная версия Windows Terminal Preview обновлена до версии 1.10, а основной Windows Terminal скоро будет обновлен до версии 1.9. Терминал Windows будет включать все функции, перечисленные в описании версии 1.9, за исключением настройки терминала по умолчанию и возможности редактировать действия с помощью пользовательского интерфейса настроек. Мы оставляем эти функции в Windows Terminal Preview, чтобы довести все до ума. А теперь давайте познакомимся с новинками версии 1.10!
Powershell настоящий язык программирования. Скрипт оптимизации рутины в техподдержке

Работая в компании IT-аутсорса в качестве руководителя 3 линии поддержки, задумался, как автоматизировать подключение сотрудников по RDP, через VPN к серверам десятков клиентов.
Таблички с адресами, паролями и прочими настройками серверов, конечно, хорошо, но поиск клиента и вбивание адресов с аккаунтами занимает довольно существенное время.
Держать все подключения к VPN в Windows не самая лучшая идея, да и при переустановке оного, создавать VPNы тоже не доставляет удовольствие.
Задача, к тому же, осложняется тем, что у некоторых клиентов pptp, у кого-то l2tp, у некоторых несколько подсетей, туннели и т.п.
В результате, для начала был написан скрипты на Powershell для каждого клиента, но позже они переродились в некое приложение, написанное с помощью того же Powershell.
До написания этого скрипта-приложения программированием не занимался вообще, разве что лет 20 назад что-то пописывал на VBS в MS Excel и MS Access, поэтому не гарантирую красивость кода и принимаю критику от опытных программистов, как можно было бы сделать красивее.
В Powershell, начиная с Windows 8 и, конечно в Windows 10, появилась прекрасная возможность создавать VPN подключения командой Add-VpnConnection и указывать какие маршруты использовать с этими соединениями командой Add-VpnConnectionRoute.
На основании этих команд и создано данное приложение. Но, обо всем по порядку.
Для начала, создаем в Google Disk таблицу с именованными столбцами:
Number; Name; VPNname; ServerAddress; RemoteNetwork; VPNLogin; VPNPass; VPNType; l2tpPsk; RDPcomp; RDPuser; RDPpass; DefaultGateway; PortWinbox; WinboxLogin; WinboxPwd; Link; Inform
Представляем Windows Terminal Preview 1.9

По следам Microsoft Build 2021 у нашего Windows Terminal второй день рождения! Этот релиз впервые представляет версию 1.9 для Windows Terminal Preview и переносит основной Windows Terminal в версию 1.8. Как всегда, вы можете установить обе сборки в Microsoft Store, а также на странице выпусков GitHub. Под катом расскажем, что нового!
Представляем Windows Package Manager 1.0

Мы начали путь к созданию собственного диспетчера пакетов для Windows 10, когда анонсировали предварительную версию диспетчера пакетов Windows на Microsoft Build 2020. Мы выпустили проект на GitHub как совместный с открытым исходным кодом, и участие сообщества было очень важным аспектом! И вот недавно прошла конференция Microsoft Build 2021.
И мы рады объявить о выпуске Windows Package Manager 1.0! Подробности под катом!
Книга «PowerShell для сисадминов»

Вклад авторов
ruvds 343.0Nurked 183.0Sanctuary_s 158.0sahsAGU 150.8Tri-Edge 137.8thunderquack 130.0oldadmin 85.0ru_vds 76.8Lifailon 70.0eBuster 70.0