Freigeben über


Export-FormatData

Speichert Formatierungsdaten aus der aktuellen Sitzung in einer Formatierungsdatei.

Syntax

Export-FormatData
      -InputObject <ExtendedTypeDefinition[]>
      -Path <String>
      [-Force]
      [-NoClobber]
      [-IncludeScriptBlock]
      [<CommonParameters>]
Export-FormatData
      -InputObject <ExtendedTypeDefinition[]>
      -LiteralPath <String>
      [-Force]
      [-NoClobber]
      [-IncludeScriptBlock]
      [<CommonParameters>]

Beschreibung

Das Export-FormatData Cmdlet erstellt PowerShell-Formatierungsdateien (format.ps1xml) aus den Formatierungsobjekten in der aktuellen Sitzung. Es verwendet die ExtendedTypeDefinition -Objekte, die Get-FormatData sie zurückgeben und in einer Datei im XML-Format speichern.

PowerShell verwendet die Daten in Formatierungsdateien (format.ps1xml), um die Standardanzeige von Microsoft .NET Framework-Objekten in der Sitzung zu generieren. Sie können die Formatierungsdateien anzeigen und bearbeiten und mit dem Update-FormatData-Cmdlet Formatierungsdaten zu einer Sitzung hinzufügen.

Weitere Informationen zum Formatieren von Dateien in PowerShell finden Sie unter about_Format.ps1xml.

Beispiele

Beispiel 1: Exportieren von Sitzungsformatdaten

Get-FormatData -TypeName "*" | Export-FormatData -Path "allformat.ps1xml" -IncludeScriptBlock

Mit diesem Befehl werden alle Formatdaten in der Sitzung in die Datei AllFormat.ps1xml exportiert.

Der Befehl verwendet das Get-FormatData Cmdlet, um die Formatdaten in der Sitzung abzurufen. Ein Wert von * (allen) für den TypeName-Parameter leitet das Cmdlet an, um alle Daten in der Sitzung abzurufen.

Der Befehl verwendet einen Pipelineoperator (|), um die Formatdaten vom Get-FormatData Befehl an das Export-FormatData Cmdlet zu senden, wodurch die Formatdaten in die Datei AllFormat.ps1 exportiert werden.

Der Export-FormatData Befehl verwendet den IncludeScriptBlock-Parameter , um Skriptblöcke in die Formatdaten in der Datei einzuschließen.

Beispiel 2: Exportieren von Formatdaten für einen Typ

$F = Get-FormatData -TypeName "helpinfoshort"
Export-FormatData -InputObject $F -Path "c:\test\help.format.ps1xml" -IncludeScriptBlock

Diese Befehle exportieren die Formatdaten für den HelpInfoShort-Typ in die Datei "Help.format.ps1xml".

Der erste Befehl verwendet das Get-FormatData Cmdlet, um die Formatdaten für den HelpInfoShort-Typ abzurufen und in der $F Variablen zu speichern.

Der zweite Befehl verwendet den InputObject-Parameter des Export-FormatData Cmdlets, um die in der $F Variablen gespeicherten Formatdaten einzugeben. Außerdem wird der IncludeScriptBlock-Parameter verwendet, um Skriptblöcke in die Ausgabe einzuschließen.

Beispiel 3: Exportieren von Formatdaten ohne Skriptblock

Get-FormatData -TypeName "System.Diagnostics.Process" | Export-FormatData -Path process.format.ps1xml
Update-FormatData -PrependPath ".\process.format.ps1xml"
Get-Process p*

Handles  NPM(K)  PM(K)  WS(K) VM(M)   CPU(s)    Id ProcessName
-------  ------  -----  ----- -----   ------    -- -----------
323                                       5600 powershell
336                                       3900 powershell_ise
138                                       4076 PresentationFontCache

Dieses Beispiel zeigt den Effekt, den IncludeScriptBlock-Parameter aus einem Export-FormatData Befehl wegzulassen.

Der erste Befehl verwendet das Get-FormatData Cmdlet, um die Formatdaten für das Vom Get-Process-Cmdlet zurückgegebene System.Diagnostics.Process-Objekt abzurufen. Der Befehl verwendet einen Pipelineoperator (|), um die Formatierungsdaten an das Export-FormatData Cmdlet zu senden, wodurch sie in die Datei "Process.format.ps1xml" im aktuellen Verzeichnis exportiert werden.

In diesem Fall verwendet der Export-FormatData Befehl nicht den IncludeScriptBlock-Parameter .

Der zweite Befehl verwendet das Update-FormatData Cmdlet, um der aktuellen Sitzung die Datei Process.format.ps1xml hinzuzufügen. Der Befehl verwendet den PrependPath-Parameter , um sicherzustellen, dass die Formatierungsdaten für Prozessobjekte in der Datei Process.format.ps1xml gefunden werden, bevor die Standardformatierungsdaten für Prozessobjekte gefunden werden.

Der dritte Befehl zeigt die Auswirkungen dieser Änderung. Der Befehl verwendet das Get-Process Cmdlet zum Abrufen von Prozessen mit Namen, die mit P beginnen. Die Ausgabe zeigt, dass Eigenschaftswerte, die mithilfe von Skriptblöcken berechnet werden, in der Anzeige fehlen.

Parameter

-Force

Erzwingt die Ausführung des Befehls ohne Aufforderung zur Bestätigung durch den Benutzer.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-IncludeScriptBlock

Gibt an, ob Skriptblöcke in den Formatdaten exportiert werden.

Da Skriptblöcke Code enthalten und böswillig verwendet werden können, werden sie standardmäßig nicht exportiert.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-InputObject

Gibt die Formatdatenobjekte an, die exportiert werden sollen. Geben Sie eine Variable ein, die die Objekte oder einen Befehl enthält, der die Objekte abruft, z. B. einen Get-FormatData Befehl. Sie können die Objekte auch von Get-FormatData zu Export-FormatData.

Typ:ExtendedTypeDefinition[]
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-LiteralPath

Gibt einen Speicherort für die Ausgabedatei an. Im Gegensatz zum Path-Parameter wird der Wert von LiteralPath genau so verwendet, wie er eingegeben wird. Es werden keine Zeichen als Platzhalter interpretiert. Wenn der Pfad Escapezeichen enthält, müssen Sie ihn in einfache Anführungszeichen einschließen. Einfache Anführungszeichen weisen PowerShell an, keine Zeichen als Escapesequenzen zu interpretieren.

Typ:String
Aliase:PSPath, LP
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-NoClobber

Gibt an, dass das Cmdlet vorhandene Dateien nicht überschreibt. Standardmäßig werden Dateien ohne Warnung überschrieben, es sei denn, Export-FormatData die Datei verfügt über das schreibgeschützte Attribut.

Export-FormatData Verwenden Sie den Parameter Force, um schreibgeschützte Dateien zu überschreiben.

Typ:SwitchParameter
Aliase:NoOverwrite
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Path

Gibt einen Speicherort für die Ausgabedatei an. Geben Sie einen Pfad (optional) und Dateinamen mit der Dateinamenerweiterung format.ps1xml ein. Wenn Sie den Pfad weglassen, Export-FormatData wird die Datei im aktuellen Verzeichnis erstellt.

Wenn Sie eine andere Dateinamenerweiterung als PS1xml verwenden, erkennt das Update-FormatData Cmdlet die Datei nicht.

Wenn Sie eine vorhandene Datei angeben, Export-FormatData wird die Datei ohne Warnung überschrieben, es sei denn, die Datei verfügt über das schreibgeschützte Attribut. Verwenden Sie den Force-Parameter , um eine schreibgeschützte Datei zu überschreiben. Um zu verhindern, dass Dateien überschrieben werden, verwenden Sie den Parameter NoClobber .

Typ:String
Aliase:FilePath
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

ExtendedTypeDefinition

Sie können ExtendedTypeDefinition-Objekte von Get-FormatData diesem Cmdlet aus weiterleiten.

Ausgaben

None

Dieses Cmdlet gibt keine Ausgabe zurück. Es generiert eine Datei und speichert sie im angegebenen Pfad.

Hinweise

  • Um eine beliebige Formatierungsdatei zu verwenden, einschließlich einer exportierten Formatierungsdatei, muss die Ausführungsrichtlinie für die Sitzung die Ausführung von Skripten und Konfigurationsdateien zulassen. Weitere Informationen finden Sie unter Informationen zu Ausführungsrichtlinien.