Windows Server 2019

Використання командування Out-gridview для вибору в даних таблиці в сценарії PowerShell

Використання командування Out-gridview для вибору в даних таблиці в сценарії PowerShell

Командування Поза містом Дозволяє відображати дані у вигляді інтерактивної графічної таблиці з можливістю фільтрації та сортування за різними ознаками. Ви можете використовувати команду Out-City у сценаріях, де вам потрібно надати найпростіший інтерфейс графічного інтерфейсу, щоб вибрати об'єкти користувачеві.

Out-City-це по суті оболонка для запуску стандартної графічної форми .Сітка DataGridView з управління формою Windows.

Розглянемо найпростіший приклад використання командира для зняття списку служб Windows та деяких їх властивостей:

Отримати послугу | Виберіть DisplayName, статус, ServiceName, CAN* | Поза містом

Як бачите, ви відкрили графічну форму з таблицею, що представляє список властивостей служб Windows. Команда автоматично викликає стовпці на основі властивості об'єкта та типу даних, розширює властивості Psobject, якщо визначення формату недоступне.

Безпосередньо з цієї форми ви можете шукати або використовувати поле введення фільтра:

З PowerShell ви можете безпосередньо зв’язатися з таблицями Excel.

Або з кнопкою Додайте критерії. На наступному скріншоті я створив простий фільтр із списком занедбаних служб, в яких є символи VMW. Фільтр створюється безпосередньо за значеннями властивостей об'єктів.

Або, наприклад, ми відобразимо список 10 найкращих процесів, які найбільше використовуються процесором (використовуючи параметр -Титул Я змінив заголовок поза містом):

Get-процес | Сортування -Object Cpu -descenting | Виберіть -Перст 10 | Out -City -Title "10 -топ -процеси процесора"

Ви можете швидко сортувати вміст таблиці у спаді/збільшенні, натиснувши на назву стовпця.

Однак найпотужніша можливість виїзду в місто, яка забезпечує новий рівень зручного графічного інтерфейсу для ваших сценаріїв PowerShell, є параметром -Пастру.

Цей параметр доступний у версії PowerShell 3.0 і дозволяє користувачеві вибрати один або кілька об'єктів у таблиці та перенести їх у конвеєр через стандартний PLICE на вхід наступних командирів у сценарії PowerShell.

Наприклад, наступний сценарій PowerShell відобразить список розширених служб Windows у таблиці. Користувач повинен вибрати потрібну послугу в таблиці та натиснути OK.

Отримати послугу | Що -Object $ _.Статус -eq 'запуск' | OUT -CITY -TITLE "Виберіть службу для перезапуску" -passthru -utputmode кілька | Перезапуск -service -verbose

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

Ви можете зберегти об'єкти, вибрані користувачем у змінній:

$ SVCS = Get-Service | Що -Object $ _.Статус -eq 'запуск' | OUT -CITY -TITLE "SELECT SERVICES" -PASSTHRU

Або ви можете зберегти лише значення певної властивості. Для цього додайте до попередньої команди:

| Виберіть -sexpandpropety Name

Ви можете дозволити користувачеві вибрати лише один елемент у таблиці або декілька відразу за допомогою параметрів:

-OutputMode одиночний і -Outputmode множин

Закривати Ctrl, Щоб виділити кілька різних рядків у таблиці.

Ще кілька цікавих сценаріїв використання командира out-gridview.

Принесіть список попередніх команд з історії PowerShell та переробити вибрані команди:

Get-History | OUT -CITY -PASSTHRU | Вираження

Принесіть список додаткових компонентів Windows та встановіть вибрані компоненти (наприклад, інструменти управління активним каталогом від RSAT та SSH -клієнта):

Get -windowscapability -online | Що -Object $ _.State -eq "notpresent" | OUT -CITY -PASSTHRU | ДОДАТИ -windowscapability -online

Отримайте список сеансів RDP від ​​брокера Connection на фермі RDS та підключіться до вибраного користувача за допомогою тіньового з'єднання:

Імпорт-модуль remoteDesktop
$ Cbserver = "srv-rdsbroker1.Winitpro.ru "
$ Id = get -rdusersion -connectionbroker $ cbserver | OUT -CITY -TITLE "RD -з'єднання" -PassThru | SelectServer, UnifiedSessionId
$ id2 = $ id | Виберіть -ExpandProperty UnifiedSessionId
$ Srv = $ id | Виберіть -ExpandProperty HostServer
Mstsc /v: "$ srv" /shadow: "$ id2" /control /noconsentprompt

Використовуючи командлет Get-Duser з модуля AD PowerShell, ви можете відобразити список включених користувачів у певному ОУ та скинути пароль у домені.

Імпорт-модуль ActiveDirectory
$ Newpasswd = read -host "Введіть новий пароль користувача" -securestring
Get -duser -filter enabled -eq "true" -Ім'япроперти, displayName, emailDdress, pwdlastset -SearchBase 'u = ru, dc = test, dc = com' | OUT -CITY -PASSTHRU -TITLE "Виберіть користувача для скидання пароля" | SET -DACCOCCUNTPASSWORD -NEWPASSWORD $ NEWPASSWD -RESET

Через App-Command ви можете отримати дані з віддалених комп'ютерів та представити їх у таблиці:

Invoke-Command -ComputErname MSK-DC01, MSK-DC02, MSK-DC03 -ScriptBlock get-культура | Виберіть -Object Pscoputername, DisplayName | Поза містом

На жаль, команда поза містом не може бути використана в ядрі сервера Windows. Коли він запускає це, з’являється помилка:

Out-City: Для UCE Out-City встановіть Windows PowerShell ISE за допомогою сервера-менеджера, і перестанкайте цю програму. (Не вдалося завантажити файл або збірку 'Microsoft.PowerShell.GraphicalHost, версія = 3.0.0.0, культура = нейтральна, publicKeyToken = 31BF3856AD364E35 'Один із його залежностей. Система не може знайти вказаний файл.)

Але ви можете використовувати параметр для зв’язку з ядром сервера -Ім'я комп'ютерів, який має більшість командирів. Наприклад:

Get-Service -ComputErname MSK-DC02 | Що -Object $ _.Статус -eq 'запуск' | OUT -CITY -TITLE "Виберіть службу для перезапуску" -utputMode одиночний | перезапуск -service -verbose

Microsoft чомусь видалив Out-Gridview з PowerShell Core 6.x, але в 7.Повернено 0 версій. Якщо ви використовуєте версії PowerShell 6.X, оновіть його до останньої команди:

Iex "& $ (irm https: // akaa.MS/Install-Powershell.PS1) -USEMSI "

Як бачите, Out-City дозволяє додати зручний графічний інтерфейс до ваших сценаріїв PowerShell

Найкращі відеокарти 2021 року
Відеокарта -це особливо важливий компонент комп’ютера для всіх, але, зокрема, для тих, хто хоче грати в сучасні ігри, робити відеофайли або працювати ...
Значок акумулятора на ноутбуці з Windows 10 відсутня
Значок акумулятора допомагає контролювати рівень заряду та вивчити час, що залишився, поки кінець роботи не буде автономним. Коли він зникає з панелі ...
Як додати можливість розблокувати файли, завантажені з Інтернету, у контекстному меню провідника
Коли користувач завантажує файл з Інтернету, Windows або браузер автоматично записують інформацію про джерело завантаження та іншу офіційну інформацію...