Sdílet prostřednictvím


Vylepšení přístupnosti výstupu v PowerShellu

Většina terminálových prostředí zobrazuje pouze nezpracovaný text. Uživatelé, kteří spoléhají na čtečky obrazovky, se potýkají s zdlouhavým mluveným komentářem při využívání velkého množství nezpracovaného textu, protože nezpracovaný výstup nemá metadata přístupnosti, která charakterizují formát obsahu.

V PowerShellu můžete zlepšit přístupnost výstupu dvěma způsoby:

  • Vypište data způsobem, který je možné zobrazit v jiném nástroji, který podporuje technologie čtení obrazovky.
  • Snižte množství výstupu zobrazeného v terminálu filtrováním a výběrem požadovaných dat a výstupem textu v čitelnějším formátu.

Zobrazení dat v nástroji mimo terminál

U velkých objemů dat místo výstupu do hostitele zvažte zápis výstupu ve formátu, který je možné zobrazit v jiném nástroji, který podporuje technologie čtení obrazovky. Možná budete muset uložit data do souboru ve formátu, který je možné otevřít v jiné aplikaci.

Příkaz Out-GridView ve Windows

Pro výstup malé až střední velikosti použijte Out-GridView příkaz. Výstup se vykreslí pomocí windows Presentation Foundation (WPF) v tabulkové podobě, podobně jako tabulka. Ovládací prvek GridView umožňuje řadit, filtrovat a prohledávat data, což snižuje množství dat, která je potřeba číst. Ovládací prvek GridView je přístupný také pro čtečky obrazovky. Nástroj Předčítání integrovaný do Windows dokáže přečíst podrobnosti GridView, včetně názvů sloupců a počtu řádků.

Následující příklad ukazuje, jak zobrazit seznam služeb v ovládacím prvku GridView.

Get-Service | Out-GridView

Příkaz Out-GridView je k dispozici pouze v PowerShellu ve Windows.

Formát hodnot oddělených znakem (CSV)

Tabulkové aplikace, například Microsoft Excel , podporují soubory CSV. Následující příklad ukazuje, jak uložit výstup příkazu do souboru CSV.

Get-Service | Export-Csv -Path .\myFile.csv
Invoke-Item .\myFile.csv

Příkaz Invoke-Item otevře soubor ve výchozí aplikaci pro soubory CSV, což je obvykle Microsoft Excel.

Formát HTML (HyperText Markup Language)

Soubory HTML lze zobrazit ve webových prohlížečích, jako je Microsoft Edge. Následující příklad ukazuje, jak uložit výstup příkazu do souboru HTML.

Get-Service | ConvertTo-HTML | Out-File .\myFile.html
Invoke-Item .\myFile.html

Příkaz Invoke-Item otevře soubor ve výchozím webovém prohlížeči.

Snížení množství výstupu

Jedním ze způsobů, jak zlepšit přístupnost výstupu, je snížit množství výstupu zobrazeného v terminálu. PowerShell obsahuje několik příkazů, které vám pomůžou filtrovat a vybírat požadovaná data.

Výběr a filtrování dat

Místo vrácení velkého připojení dat použijte příkazy, jako Select-Objectje , Sort-Objecta Where-Object snižte množství výstupu. Následující příklad načte seznam služeb v počítači.

Každý z následujících příkazů vylepšuje výstup jiným způsobem:

  • Parametr -ErrorAction SilentlyContinue potlačí chybové zprávy, které se můžou vygenerovat, pokud uživatel nemá oprávnění k zobrazení některých služeb.
  • Příkaz Where-Object zmenšuje počet vrácených položek filtrováním seznamu tak, aby zobrazoval jenom služby, které jsou spuštěné a které mají event v popisu.
  • Příkaz Select-Object vybere jenom název služby a zobrazovaný název.
  • Příkaz Format-List zobrazí výstup ve formátu seznamu, který poskytuje lepší prostředí pro mluvený komentář pro čtečky obrazovky.
Get-Service -ErrorAction SilentlyContinue |
    Where-Object {$_.Status -eq 'Running' -and $_.Description -Match 'event'} |
    Select-Object Name, DisplayName |
    Format-List

Přeformátovat výstup s počítanými vlastnostmi

Výchozí názvy vlastností výstupu objektů .NET pomocí PowerShellu můžou být podrobné a matoucí. Počítané vlastnosti můžete použít ke změně názvů a hodnot vlastností na něco, co je srozumitelnější při čtení technologií předčítání.

Následující příklad ukazuje, jak získat prvních pět procesů podle využití paměti a zobrazit název procesu a využití paměti v megabajtech.

Get-Process |
    Sort-Object WorkingSet -Descending |
    Select-Object -First 5 -Property ProcessName,
        @{n="MemoryMB"; e={'{0:N}' -f ($_.WorkingSet/1Mb)}} |
    Format-List

Ve výchozím nastavení Get-Process zobrazí pracovní sadu jako počet využitých bajtů paměti. Bez formátování může být obtížné pochopit velikost čísla. Počítaná vlastnost převede počet bajtů na megabajty a formátuje číslo čárkami a omezuje hodnotu na dvě desetinná místa.

ProcessName : vmmemWSL
MemoryMB    : 1,217.69

ProcessName : Memory Compression
MemoryMB    : 780.45

ProcessName : Code
MemoryMB    : 726.43

ProcessName : OUTLOOK
MemoryMB    : 460.16

ProcessName : msedgewebview2
MemoryMB    : 428.94

Další čtení