Runbook-Ausgabedaten
Stellen Sie Runbook-Ergebnisse im RealmJoin-Portal als sortierbare, filterbare Tabellen dar und schreiben Sie Runbooks, die strukturierte Objekte ausgeben.
Übersicht
Ausgabedaten sind das strukturierte Gegenstück zur Konsole Registerkarte auf einer Runbook-Job-Seite. Die Konsole behält den rohen, zeilenweisen Text-Feed eines Laufs bei; Ausgabedaten stellen die Objekte als Tabellen dar, die derselbe Lauf ausgegeben hat. Lange Werte wie GUIDs werden vollständig angezeigt, statt vom PowerShell-Konsolenformatierer auf … gekürzt zu werden, und breite Ergebnismengen bleiben lesbar, statt umzubrechen.
Wesentliche Merkmale:
Keine Konfiguration, keine zusätzlichen Berechtigungen — die Registerkarte ist für jedes Runbook verfügbar, das Objekte ausgibt. Nichts muss aktiviert werden, und wer ein Runbook starten darf, bleibt unverändert.
Objekte statt vorformatiertem Text — die Tabellen werden aus dem aufgebaut, was das Runbook in den Ausgabestream schreibt. Ein Runbook, das seine Ergebnisse mit
Format-Tablevorab formatiert, erzeugt überhaupt keine Ausgabedaten.Interaktive Tabellen — jede Tabelle kann unabhängig von den anderen sortiert, gefiltert, seitenweise angezeigt und nach Excel oder CSV exportiert werden.
Verschachtelte Daten bleiben prüfbar — Objekte und Arrays innerhalb einer Zelle sind aufklappbar, statt zu einer unlesbaren Zeichenkette zusammengeführt zu werden.
Die Registerkarte Konsole bleibt unverändert — die vollständige Textausgabe bleibt verfügbar und kopierbar, was normalerweise ein Service- oder ITIL-Ticket benötigt.
Schnellstart
Das minimal lauffähige Runbook gibt ein Markerobjekt mit dem Tabellennamen aus, dann die Daten:
[PSCustomObject]@{ RjTableTitle = 'Nicht konforme Geräte' }
Write-Output $nonCompliantDevicesDies erzeugt eine Tabelle mit dem Titel Nicht konforme Geräte in der Registerkarte Ausgabedaten — eine Zeile pro Gerät, eine Spalte pro Eigenschaft — plus eine kompakte Zusammenfassungszeile in der Konsole, die darauf verlinkt.
Ausgabedaten im Portal lesen
Öffnen Sie einen Job aus Runbook-Protokolle und wechseln Sie zur Ausgabedaten Registerkarte. Siehe Runbook-Jobdetails für die anderen Registerkarten dieser Seite.
Tabellen und Navigation
Jede Menge von Objekten, die ein Runbook ausgibt, wird zu einer Tabelle. Eine Tabelle hat:
Einen Titel — entweder den Namen, den das Runbook gesetzt hat (siehe Eine Tabelle benennen) oder den Fallback
Tabelle 1,Tabelle 2und so weiter.Einen Eintrag in der Seitenleiste — jede Tabelle wird links aufgelistet; durch Klicken auf einen Titel springen Sie direkt dorthin.
Einen Zeilenzähler —
12 / 340 Zeilenzeigt, wie viele Zeilen dem aktuellen Filter von der Gesamtzahl der Tabelle entsprechen.
Filter
Das Filter… Feld oberhalb einer Tabelle behält nur die Zeilen bei, die den eingegebenen Text enthalten. Der Filter ist eine nicht groß-/kleinschreibungsabhängige Teilzeichenfolgenübereinstimmung über alle Spalten dieser Tabelle hinweg. Jede Tabelle filtert unabhängig.
Sortieren
Durch Klicken auf einen Spaltenkopf wird nach dieser Spalte sortiert; durch erneutes Klicken wird die Richtung umgekehrt. Ein Pfeil (▲ / ▼) kennzeichnet die aktive Spalte. Die Sortierung ist typabhängig:
Zahlen
Numerisch — 2 vor 10.
Datum
Chronologisch.
Alles andere
Alphabetisch, ohne Berücksichtigung der Groß-/Kleinschreibung.
Leere Zellen werden zuerst sortiert.
Seitennavigation
Tabellen werden in Seiten mit jeweils 50 Zeilen aufgeteilt; unter der Tabelle befindet sich ein Pager. Filter und Sortierung gelten immer für die gesamte Tabelle, nicht nur für die aktuell angezeigte Seite.
Verschachtelte Objekte und Listen
Eine Zelle mit einem verschachtelten Objekt oder Array wird nicht in unlesbaren Text abgeflacht:
Die Zelle zeigt ein Caret (
▸). Durch Klicken darauf wird dieses Objekt oder Array direkt unter der Zeile inline erweitert.Der Spaltenkopf trägt einen Aufklapp-Pfeil. Durch Klicken darauf wird die gesamte Spalte in eine eigene Tabelle erweitert: Jeder verschachtelte Wert einer übergeordneten Zeile wird in Zeilen aufgelöst, und eine Referenzspalte verknüpft zurück mit der Zeilennummer der übergeordneten Zeile. Die neue Tabelle wird am Ende der Seite und in der Seitenleiste angehängt und kann wie jede andere gefiltert, sortiert und exportiert werden.
Export
Jede Tabelle hat ihre eigenen Nach Excel exportieren (.xlsx) und Nach CSV exportieren Schaltflächen. Exporte berücksichtigen den aktiven Filter — es werden nur passende Zeilen geschrieben — und verwenden den Tabellentitel als Dateinamen. Der Export nach Excel verwendet den Titel außerdem als Arbeitsblattnamen und schlägt bei Titeln mit mehr als 31 Zeichen fehl, siehe Eine Tabelle benennen.
Der Export aus dem Portal deckt den Ad-hoc-Fall ab. Für Berichtsdateien, die ein Runbook eigenständig liefern soll — als E-Mail-Anhang oder als Download-Link — erstellen Sie sie stattdessen im Runbook mit Export-RjRbXlsx und den Zustellhilfen.
Registerkarte Konsole
Wenn ein Job Tabellen ausgegeben hat, zeigt die Konsole Registerkarte standardmäßig eine komprimierte Ansicht. Tabellen werden im PowerShell-Stil dargestellt, aber gekürzt, damit Statuszeilen lesbar bleiben und ein Runbook, das Hunderte von Objekten ausgegeben hat, die Seite nicht überflutet. Anstelle jeder Tabelle zeigt die Konsole eine Zusammenfassungsbox:
Unmittelbar hintereinander ausgegebene Tabellen teilen sich eine Box:
→ "Ausgabedaten"-Registerkarte ist ein Link und wechselt zur entsprechenden Tabelle.
Zwei Schaltflächen steuern die Ansicht:
Vollständige Ausgabe anzeigen — zur vollständigen, nicht gekürzten Textausgabe wechseln.
Komprimierte Tabellen anzeigen — zurückwechseln.
In Zwischenablage kopieren kopiert immer die vollständige Roh-Ausgabe, unabhängig davon, welche Ansicht angezeigt wird.
Ausgabedaten aus einem Runbook ausgeben
Die Registerkarte wird aus den Objekten aufgebaut, die ein Runbook ausgibt. Saubere Tabellen erfordern daher, dass das Runbook Objekte schreibt, statt sie vorab in Text zu formatieren.
Objekte ausgeben, nicht formatierten Text
Leiten Sie die Ausgabe niemals durch
Format-TableoderFormat-List. Diese Cmdlets erzeugen Datensätze der Formatierungs-Engine, keine Daten. Das Portal erkennt sie und blendet sie aus und zeigt einen Hinweis an, dass die Ausgabe falsch formatiert war. Dasselbe gilt überall dort, wo PowerShell ein Ergebnis automatisch formatiert, weil es an den Host statt an den Ausgabestream geschrieben wurde.
Format-* Cmdlets steuern ausschließlich die Anzeige. Wofür sie verwendet wurden, hat ein Datenäquivalent, das Output Data darstellen kann — insbesondere das Auswählen von Spalten erledigt Select-Object :
$devices | Format-Table Name, Id
$devices | Select-Object Name, Id
$devices | Format-Table -AutoSize
Write-Output $devices
$devices | Format-List
Write-Output $devices
Select-Object Name, Id liefert dieselbe Spaltenauswahl, die Format-Table Name, Id angezeigt hätte — aber es gibt Objekte aus, sodass die Spalten in der Registerkarte Ausgabedaten erhalten bleiben, statt als Formatierungsdatensätze verworfen zu werden:
Die ausgewählten Eigenschaften sind genau die Spalten der resultierenden Tabelle: Name, Id, OperatingSystem und LastSeen, eine Zeile pro Gerät.
Wie Objekte zu Tabellen werden
Ein Objekt
Eine Zeile — seine Eigenschaften werden zu den Spalten.
Aufeinanderfolgende Objekte mit denselben Eigenschaften
Eine Tabelle.
Ein Objekt mit einem anderen Eigenschaftssatz
Eine neue Tabelle beginnt.
Ein einfacher Einzelwert (String, Zahl)
Eine Textzeile in der Konsole, keine Tabelle.
Eine Zeile, die mit ## gefolgt von einem Leerzeichen
Eine Überschrift in der Konsolenansicht.
Ein verschachteltes Objekt oder Array
JSON in der Zelle, im Raster erweiterbar — siehe Verschachtelte Objekte und Listen.
Eine Tabelle benennen
Standardmäßig werden Tabellen als Tabelle 1, Tabelle 2 und so weiter beschriftet. Um einer Tabelle einen aussagekräftigen Namen zu geben, gibt das Runbook unmittelbar vor den Daten ein Markerobjekt aus. Das Markerobjekt ist ein Objekt mit genau einer Eigenschaft, nämlich RjTableTitle:
Die folgende Tabelle erhält dann den Titel Nicht konforme Geräte — in der Überschrift, in der Seitenleiste und im Namen der Exportdatei.
Das Markerobjekt selbst wird verbraucht. Es erscheint weder als Zeile noch als Zeile in der Konsole.
Der Eigenschaftsname ist nicht groß-/kleinschreibungsabhängig —
RjTableTitle,rjtabletitleund jede andere Schreibweise funktioniert ebenfalls.Ein leer er Titel wird ignoriert, sodass ein leeres Markerobjekt einen vorhandenen Namen nicht löschen kann.
Der Name gilt für die nächste ausgegebene Tabelle, auch wenn dazwischen Statuszeilen erscheinen.
Durch Wiederholen des Musters werden mehrere Tabellen in einem Lauf benannt:
Verhalten & Einschränkungen
Archivierte Jobs
Ausgabedaten sind nur für Live-Ausführungen verfügbar. Ein archivierter Job zeigt "Strukturierte Daten können aus einem archivierten Lauf nicht abgerufen werden." — diese Ergebnisse müssen aus der Konsole gelesen werden. Siehe Runbook-Protokolle für die Unterscheidung zwischen aktuellen und archivierten Jobprotokollen.
Runbooks ohne strukturierte Ausgabe
"Keine strukturierten Ausgabedaten aus diesem Runbook." bedeutet, dass nichts Tabellenförmiges ausgegeben wurde. Wenn die Meldung von einem Informationssymbol begleitet wird, hat das Runbook PowerShell-Formatierungsdatensätze statt Daten gesendet — siehe Objekte ausgeben, nicht formatierten Text.
Einzelwerte
Ein Runbook, das einen einzelnen einfachen Wert ausgibt — einen Statusstring, einen Zähler — behält diesen Wert als Textzeile in der Registerkarte Konsole. Nur Objekte werden zu Tabellen, daher werden Fortschritts- und Statusmeldungen nicht jeweils zu einer einzeiligen Tabelle.
Siehe auch
Runbook-Jobdetails — die Job-Seite, die die Registerkarten Konsole und Ausgabedaten enthält.
Export-RjRbXlsx — dieselben Objekte in eine formatierte Excel-Arbeitsmappe schreiben, um sie außerhalb des Portals bereitzustellen.
Send-RjRbReportEmail — Berichtsergebnisse per E-Mail an Administratoren übermitteln.
Mit Runbooks interagieren — Job-Ausgaben programmgesteuert über die RealmJoin-API lesen.
Zuletzt aktualisiert
War das hilfreich?