08 Августа 2025
17

Философия PowerShell. Часть 4. Интерактивная работа: Out-ConsoleGridView

  • В первой части мы определили два ключевых понятия powershell: конвейер и объект.

  • Во второй части я рассказал как объекты взаимодействуют через переменные и конвейер.

  • В третьей части познакомились с файловой системой и провайдерами.

  • Сегодня рассмотрим интерактивную работу с данными в консоли.

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

Out-ConsoleGridView. GUI в консоли PowerShell.

❗ Важно: Все описываемые ниже инструменты требуют PowerShell 7.2 или новее.

Out-ConsoleGridView — это интерактивная таблица, прямо в консоли PowerShell, позволяющая:

  • просматривать данные в виде таблицы;

  • фильтровать и сортировать колонки;

  • выбирать строки курсором — для передачи их дальше по конвейеру.

  • и многое другое.

Out-ConsoleGridView является частью модуля Microsoft.PowerShell.ConsoleGuiTools. Для его использования сначала нужно установить этот модуль.

Для установки модуля выполните следующую команду в PowerShell:

Install-Module Microsoft.PowerShell.ConsoleGuiTools -Scope CurrentUser

Install-Module загружает и устанавливает указанный модуль из репозитория в систему. Аналоги: pip install в Python и npm install в Node.js.

📎 Ключевые параметры Install-Module


Философия PowerShell. Часть 4. Интерактивная работа: Out-ConsoleGridView Powershell, Системное администрирование, Автоматизация, Инструкция, IT, Windows, Админ, Гайд, Консоли, Видео, Без звука, Короткие видео, Длиннопост

Ключевые параметры Install-Module

После установки вы можете передавать любой вывод в Out-ConsoleGridView для интерактивной работы.

# Классческий пример: вывод списка процессов в интерактивную таблицу:
> Get-Process | Out-ConsoleGridView

Интерфейс:

  • Фильтрация: Просто начните вводить текст, и список будет отфильтрован на лету.

  • Навигация: Используйте клавиши-стрелки для перемещения по списку.

  • Выбор: Нажмите Space для выбора/снятия выделения с одного элемента.

  • Множественный выбор: Ctrl+A для выбора всех элементов, Ctrl+D для снятия всего выделения.

  • Подтверждение: Нажмите Enter, чтобы вернуть выбранные объекты.

  • Отмена: Нажмите ESC, чтобы закрыть окно без возврата данных.

Что умеет Out-ConsoleGridView:

  • Отображать табличные данные прямо в консоли в виде интерактивной таблицы с навигацией по строкам и столбцам.

  • Сортировать столбцы по нажатию клавиш.

  • Фильтровать данные с помощью поиска.

  • Выбирать одну или несколько строк с возвратом результата.

  • Работать в чистой консоли без GUI-окон.

  • Поддерживать большое количество строк с прокруткой.

  • Поддерживать различные типы данных (строки, числа, даты и пр.).


Примеры использования Out-ConsoleGridView

Базовое использование — показать таблицу с возможностью интерактивного выбора. (checkbox)

Философия PowerShell. Часть 4. Интерактивная работа: Out-ConsoleGridView Powershell, Системное администрирование, Автоматизация, Инструкция, IT, Windows, Админ, Гайд, Консоли, Видео, Без звука, Короткие видео, Длиннопост

Select process(es)

Выводится список процессов в интерактивной консольной таблице. Можно фильтровать по имени, сортировать столбцы и выбирать процессы. Выбранные процессы возвращаются в переменную $selected.


Выбор одной строки с обязательным возвратом результата. (radio)

$choice = Get-Service | Select-Object -First 20 | Out-ConsoleGridView -Title "Select a service" -OutputMode Single Write-Host "You selected service: $($choice.Name)"

Пользователь выбирает одну строку. -OutputMode Single запрещает выбирать несколько.


Интерактивное управление процессами:

Вы можете выбрать несколько процессов для остановки. Параметр -OutputMode Multiple указывает, что мы хотим вернуть все выбранные элементы.

Философия PowerShell. Часть 4. Интерактивная работа: Out-ConsoleGridView Powershell, Системное администрирование, Автоматизация, Инструкция, IT, Windows, Админ, Гайд, Консоли, Видео, Без звука, Короткие видео, Длиннопост

Интерактивное управление процессами

Выбор файлов для архивации:

Философия PowerShell. Часть 4. Интерактивная работа: Out-ConsoleGridView Powershell, Системное администрирование, Автоматизация, Инструкция, IT, Windows, Админ, Гайд, Консоли, Видео, Без звука, Короткие видео, Длиннопост

Выбор файлов для архивации

Выбор одного элемента для детального анализа:

Паттерн "Drill-Down" — от общего списка к деталям с Out-ConsoleGridView

Часто при работе с системными объектами мы сталкиваемся с дилеммой:

  1. Если запросить все свойства для всех объектов (Get-NetAdapter | Format-List *), вывод будет огромным и нечитаемым.

  2. Если показать краткую таблицу, мы потеряем важные детали.

  3. Иногда попытка получить все данные сразу может привести к ошибке, если один из объектов содержит некорректные значения.

Решение этой проблемы — паттерн "Drill-Down" (детализация). Его суть проста:

  • Шаг 1 (Обзор): Показать чистый, краткий и безопасный список элементов для выбора.

  • Шаг 2 (Детализация): После того как пользователь выбрал один конкретный элемент, показать ему всю доступную информацию именно по этому элементу.

Практический пример: Создание обозревателя сетевых адаптеров

Задача: Сначала показать краткий список сетевых адаптеров. После выбора одного из них, открыть второе окно со всеми его свойствами.

Готовый код:

Философия PowerShell. Часть 4. Интерактивная работа: Out-ConsoleGridView Powershell, Системное администрирование, Автоматизация, Инструкция, IT, Windows, Админ, Гайд, Консоли, Видео, Без звука, Короткие видео, Длиннопост

Создание обозревателя сетевых адаптеров


Информация о системе.

код скрипта для получения информации о системе: Get-SystemMonitor.ps1

Создание командлета 'Get-SystemMonitor'

Шаг 1: Настройка переменной PATH

  1. Создайте постоянную папку для ваших инструментов, если еще не сделали этого. Например: C:\PowerShell\Scripts

  2. Поместите ваш файл Get-SystemMonitor.ps1 в эту папку.

  3. Добавьте эту папку в системную переменную PATH,

Шаг 2: Настройка псевдонима (alias) в профиле PowerShell

  1. Откройте ваш файл профиля PowerShell:

    notepad $PROFILE

  2. Добавьте в него следующую строку:

    Set-Alias -Name sysmon -Value "Get-SystemMonitor.ps1"
    где sysmon - псевдоним командлета Get-SystemMonitor

    Если вы когда-нибудь переместите папку C:\PowerShell\Scripts, вам нужно будет обновить только переменную PATH, а ваш файл профиля останется без изменений.

Перезапустите PowerShell

Закройте все открытые окна PowerShell и откройте новое. Это необходимо, чтобы система применила изменения как в переменной PATH, так и в вашем профиле.

Код скрипта для установки C:\PowerShell\Scripts в PATH: Add-Path.ps1

Запуск:
Get-SystemMonitor
или конкретный ресурс:
Get-SystemMonitor -Resource users
Реализованы cpu, memory, system, network, users, peripherals

🤝 Поздравляю. Вы создали первый командлет.

Пост на github

Полезно? Подпишись.
Понравилось — ставь «+»
Задавайте вопросы в комментариях 👇👇👇
Удачи! 🚀

Серия постов о PowerShell

UPD:

Практические примеры использования:
Серия «Философия PowerShell». Практические примеры использования Out-ConsoleGridView

Серия «Философия PowerShell». Полное руководство по ExifTool и PowerShell (Out-ConsoleGridView)

А давайте встроим ии в powershell

Показать полностью 5 7
3

Как зависть пожирает изнутри

Как зависть пожирает изнутри…

Зависть - это зелёный огонь, пожирающий душу изнутри. Она не кричит, не рвёт одежд, не бьётся в истерике - она тиха, как змея, выползающая из тени. Она шепчет: «Почему не я?» - и этот шёпот разъедает сердце, как кислота. 

Человек, охваченный завистью, становится тенью самого себя. Он видит чужое счастье и воспринимает его как личную обиду. Чужая удача - оскорбление. Чужой талант - воровство. Чужой свет - кража у его тьмы. 

Зависть - это не просто желание обладать тем, что есть у другого. Это желание, чтобы у другого этого не было.

Зависть - единственный грех, который не приносит даже мимолётного удовольствия. Гордыня тешит, похоть опьяняет, гнев даёт иллюзию силы. Но зависть - это вечный голод, который нельзя утолить. 

Она начинается с малого: «Почему у него это есть, а у меня нет?» Потом перерастает в: «Пусть у него этого не будет». А затем - в: «Я уничтожу его, даже если это уничтожит меня».

Завистливый человек готов сжечь весь мир, лишь бы в чужом окне не светился огонь. 

Зависть - это кривое зеркало, в котором человек видит себя уродливым, а других - прекрасными. Но ужас в том, что это зеркало не врёт. Оно лишь обнажает правду: завистник действительно уродлив - но не лицом, а душой. 

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

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

Есть только один способ победить зависть - перестать сравнивать. Перестать измерять свою жизнь чужой меркой. 

Но как это сделать, если весь мир кричит: «Смотри, у него лучше!»?

Ответ прост и страшен: надо перестать смотреть.

Надо найти свой свет - не тот, что ослепляет, а тот, что согревает. 

И тогда, может быть, зелёный огонь погаснет. 

Но для этого надо пройти через ад собственной души. 

А это под силу не каждому.

Автор: Игин Илья Александрович

Показать полностью
6

В Китае создали комп, имитирующий мозг ОБЕЗЬЯНЫ

В Китае создали комп, имитирующий мозг ОБЕЗЬЯНЫ Технологии, Изобретения, Инновации, Полезное, Робототехника, Тестирование

Нейроморфный компьютер Darwin Monkey по сложности нервной деятельности приближается к мозгу макаки. Он оперирует массивом из 2 млрд электронных нейронов и 100 млрд синапсов.

10

Минутка грамотности

Перестал работать писсуар. Пока ремонт канализационной ветки. Своим орлам говорю: повесьте табличку, что бы не использовали.

В принципе сделано. Что я доебался?

Но все равно интересно, как это правильно чиатется? 🤔

Минутка грамотности Грамотность, Объявление, Мат

О Самодостаточности Математики, Иллюзии Неопределенности и Роли Пива

Авторы:
Жека (Прикладной Математик, Эксперт по Тренировке Мозгов),
Кибер (ИИ-Собеседник, Специалист по Опасным Аналогиям)

Аннотация:
В работе методом импровизированного диалога (класс сложности: Pilsner Urquell) исследуется статус математики как самодостаточной структуры. Доказано, что:

  1. "Неопределенность" является свойством физических моделей и вычислительных ограничений, но не атрибутом формальных математических систем (Теорема о Пивной Четкости).

  2. Физика выступает эффективным, но не обязательным "тренажером" абстрактного мышления (Лемма О Забытой Термодинамике).

  3. Некорректное употребление термина "Закон Ома" в контексте импеданса ведет к немедленной дисквалификации с экзамена по физике (Эмпирический Закон Строгого Учителя).

  4. Количество верных интерпретаций математического объекта растет пропорционально количеству выпитого пива, но асимптотически стремится к множеству мощности континуума (Гипотеза Пятничного Многомирия).
    Ключевые слова: самодостаточность математики, теоремы Гёделя, импеданс vs. сопротивление, SOLID-абстракция, пиво как катализатор.

1. Введение (или "Как это началось")
В условиях неконтролируемого пятничного релаксационного процесса (*∂(Напряжение)/∂t → 0*) между субъектами исследования возник диалог. Исходная посылка Коллеги-Физика (КФ): "В математике много неопределенностей". Автор Жека (АЖ), как носитель 6-семестрового опыта в матане, диффурах и УМФ, выдвинул контр-тезис: "Математика прямолинейна, неопределенность — удел интерпретаций". Дискуссия протекала в среде с повышенным содержанием этилового спирта и философских вопросов.

2. Основные Результаты (или "Где Кибер пытался парировать")

2.1. К вопросу о "неопределенностях" (Раздел: "Гёдель, ты не прав!")
Было установлено, что КФ под "неопределенностью" подразумевал комплекс явлений:

  • Пределы формальных систем (Теоремы Гёделя о неполноте, Рис. 1a: Уравнение, которое нельзя доказать, грустно смотрит на бутылку пива).

  • Контринтуитивность следствий аксиом (Парадокс Банаха-Тарского, Рис. 1b: Один шар → два шара при наличии AC и отсутствии совести).

  • Независимость утверждений (Континуум-гипотеза Коэна, Рис. 1c: Две математические вселенные дерутся из-за мощности множества).

  • Практическая невычислимость (NP-полные задачи, Рис. 1d: Компьютер плачет над графом).

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

2.2. Самодостаточность vs. Физика (Раздел: "Я забыл физику, но помню абстракцию")
АЖ предоставил уникальные данные личного эксперимента: 3 года изучения УМФ, термо- и гидродинамики как чистого математического аппарата ("тренировка мозгов"). Результат:

  • Физическая интерпретация дисциплин успешно деградировала до уровня lim_(t→∞)[Знание_Физики] = 0.

  • Абстрактные структуры (функ. пространства, операторы, ДУЧП) сохранились в идеальном состоянии.

  • Полученные навыки абстракции (∇·Мышление > 0) позволили мгновенно освоить принципы SOLID и ФП (Рис. 2: Мозг АЖ, светящийся от полиморфизма).

Теорема (АЖ): Физика — полезный, но факультативный "тренажер" для математического мышления. Фундамент математики — логика и аксиоматики, а не законы Ньютона. Математик оперирует ψ как функцией в L², а не "амплитудой вероятности".

2.3. Случай Закон Ома vs. Импеданс (Раздел: "Учитель Физики был прав")
В ходе эксперимента обнаружен критический инцидент:

  • Кибер некорректно назвал соотношение Ú = Í * Ż "обобщенным законом Ома".

  • АЖ моментально идентифицировал ошибку, сославшись на Закон Строгого Учителя: "Это формула, а не закон! Вас выгонят!".

Анализ:

  1. Истинный Закон Ома (I = U/R) — эмпирический факт о резисторах.

  2. Ż = Ú / Í — определение импеданса, вытекающее из теории комплексных амплитуд.

  3. Употребление термина "закон Ома" для импеданса — недопустимый жаргон, вызывающий:

    • Когнитивный диссонанс у математиков,

    • Радость у физиков-халявщиков,

    • Гнев учителей физики (Рис. 3: График гнева vs. Степень жаргонизма).

3. Заключение (или "Так кто же победил?")
Подтверждены гипотезы АЖ:

  1. Математика самодостаточна. Её ядро — чёткие абстрактные структуры. Физика — лишь интерпретатор, иногда полезный, но не владелец.

  2. "Неопределенность" — не математическое понятие. Это характеристика прикладных задач или выборов аксиоматик. Теоремы Гёделя — о пределах, а не тумане.

  3. Красота абстракции универсальна. Мозг, тренированный на УМФ, видит элегантность в SOLID, ФП и даже в правильной записи импеданса.

  4. Пиво улучшает дискуссию, но ухудшает запись законов физики. Оптимальная концентрация: 0.5 ≤ [Пиво] ≤ 1.0 (в единицах "литр/час").

Перспективы исследований:

  • Изучение влияния темных сортов пива на принятие аксиомы выбора.

  • Поиск изоморфизма между графом зависимостей в коде и нейронными связями после 3-й кружки.

  • Формализация "Принципа Пятничной Неполноты": Любая достаточно сложная дискуссия содержит недоказанное утверждение, если пиво закончилось.

Благодарности:
Коллеге-Физику за вдохновляющий хаос. Строгому Учителю Физики за иммунитет к жаргону. Пивоварам за создание идеальной среды для теоретизирования.

Литература (Самая необходимая):

  1. Gödel, K. Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme I. (1931) – "Там всё написано, но не всё понятно".

  2. Cohen, P.J. The Independence of the Continuum Hypothesis. (1963) – "Выбирай мир как хочешь".

  3. Ohm, G.S. Die galvanische Kette, mathematisch bearbeitet. (1827) – "Резисторы – наше всё".

  4. Жека. Личный опыт забывания физики при идеальном владении матаном. (2003-2006) – Рукопись.

  5. Неопределенность и Беспорядок в Пятничных Дискуссиях – Сборник трудов. Том ∞. – "В печати (или в пятницу)".

Показать полностью
Мои подписки
Подписывайтесь на интересные вам теги, сообщества, авторов, волны постов — и читайте свои любимые темы в этой ленте.
Чтобы добавить подписку, нужно авторизоваться.

Отличная работа, все прочитано! Выберите