Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In den meisten Terminalumgebungen wird nur unformatierter Text angezeigt. Benutzer, die auf Bildschirmsprachausgaben angewiesen sind, sehen sich beim Verbrauch großer Mengen von Rohtext mit mühsamen Kommentaren konfrontiert, da die Rohausgabe nicht über die Bedienungshilfenmetadaten verfügt, um das Format des Inhalts zu charakterisieren.
Es gibt zwei Möglichkeiten, die Bedienungshilfen der Ausgabe in PowerShell zu verbessern:
- Geben Sie die Daten so aus, dass sie in einem anderen Tool angezeigt werden kann, das Bildschirmlesetechnologien unterstützt.
- Verringern Sie die im Terminal angezeigte Ausgabemenge, indem Sie die gewünschten Daten filtern und auswählen und den Text in einem besser lesbaren Format ausgeben.
Anzeigen der Daten in einem Tool außerhalb des Terminals
Für große Datenmengen anstatt für die Ausgabe an den Host sollten Sie die Ausgabe in einem Format schreiben, das in einem anderen Tool angezeigt werden kann, das Bildschirmlesetechnologien unterstützt. Möglicherweise müssen Sie die Daten in einer Datei in einem Format speichern, das in einer anderen Anwendung geöffnet werden kann.
Out-GridView-Befehl unter Windows
Verwenden Sie den Out-GridView Befehl für kleine bis mittelgroße Ausgaben. Die Ausgabe wird mithilfe von Windows Presentation Foundation (WPF) in tabellarischer Form gerendert, ähnlich wie eine Kalkulationstabelle. Mit dem GridView-Steuerelement können Sie die Daten sortieren, filtern und durchsuchen, wodurch die Menge der zu lesenden Daten reduziert wird. Das GridView-Steuerelement ist auch für Bildschirmsprachausgaben zugänglich. Das in Windows integrierte Sprachausgabetool kann die GridView-Details einschließlich Spaltennamen und Zeilenanzahl lesen.
Das folgende Beispiel zeigt, wie eine Liste von Diensten in einem GridView-Steuerelement angezeigt wird.
Get-Service | Out-GridView
Der Out-GridView Befehl ist nur in PowerShell unter Windows verfügbar.
CSV-Format (Character Separated Value)
Tabellenkalkulationsanwendungen wie Microsoft Excel unterstützen CSV-Dateien. Das folgende Beispiel zeigt, wie die Ausgabe eines Befehls in einer CSV-Datei gespeichert wird.
Get-Service | Export-Csv -Path .\myFile.csv
Invoke-Item .\myFile.csv
Der Invoke-Item Befehl öffnet die Datei in der Standardanwendung für CSV-Dateien, die normalerweise Microsoft Excel ist.
HyperText Markup Language (HTML) Format
HTML-Dateien können von Webbrowsern wie Microsoft Edge angezeigt werden. Das folgende Beispiel zeigt, wie die Ausgabe eines Befehls in einer HTML-Datei gespeichert wird.
Get-Service | ConvertTo-Html | Out-File .\myFile.html
Invoke-Item .\myFile.html
Der Invoke-Item Befehl öffnet die Datei in Ihrem Standardwebbrowser.
Verringern der Ausgabemenge
Eine Möglichkeit, die Bedienungshilfen der Ausgabe zu verbessern, besteht darin, die im Terminal angezeigte Ausgabemenge zu reduzieren. PowerShell verfügt über mehrere Befehle, mit denen Sie die gewünschten Daten filtern und auswählen können.
Auswählen und Filtern von Daten
Anstatt eine große Bereitstellung von Daten zurückzugeben, verwenden Sie Befehle wie Select-Object, Sort-Object, und Where-Object, um die Ausgabemenge zu verringern. Das folgende Beispiel ruft die Liste der Dienste auf dem Computer ab.
Jeder der folgenden Befehle verbessert die Ausgabe auf eine andere Weise:
- Der
-ErrorAction SilentlyContinueParameter unterdrückt Fehlermeldungen, die möglicherweise generiert werden, wenn der Benutzer nicht über die Berechtigung zum Anzeigen einiger Dienste verfügt. - Der
Where-ObjectBefehl reduziert die Anzahl der Elemente, die zurückgegeben werden, indem die Liste so gefiltert wird, dass nur Dienste angezeigt werden, die ausgeführt werden undeventin der Beschreibung vorhanden sind. - Der
Select-ObjectBefehl wählt nur den Dienstnamen und den Anzeigenamen aus. - Mit dem
Format-ListBefehl wird die Ausgabe im Listenformat angezeigt, die eine bessere Kommentarerfahrung für Bildschirmsprachausgaben bietet.
Get-Service -ErrorAction SilentlyContinue |
Where-Object {$_.Status -eq 'Running' -and $_.Description -match 'event'} |
Select-Object Name, DisplayName |
Format-List
Neuformatieren der Ausgabe mit berechneten Eigenschaften
Die Standardeigenschaftennamen von .NET-Objekten, die von PowerShell ausgegeben werden, können ausführlich und verwirrend sein. Sie können berechnete Eigenschaften verwenden, um die Eigenschaftennamen und -werte zu ändern, um etwas einfacher zu verstehen, wenn sie von einer Sprachausgabetechnologie gelesen werden.
Das folgende Beispiel zeigt, wie Sie die fünf wichtigsten Prozesse nach Speicherauslastung abrufen und den Prozessnamen und die Speicherauslastung in Megabyte anzeigen.
Get-Process |
Sort-Object WorkingSet -Descending |
Select-Object -First 5 -Property ProcessName,
@{n="MemoryMB"; e={'{0:N}' -f ($_.WorkingSet/1Mb)}} |
Format-List
Standardmäßig zeigt Get-Process das WorkingSet als Anzahl der verwendeten Bytes an. Ohne Formatierung kann es schwierig sein, die Größe der Zahl zu verstehen. Die berechnete Eigenschaft konvertiert die Anzahl von Bytes in Megabyte und formatiert die Zahl mit Kommas und begrenzt den Wert auf zwei Dezimalstellen.
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