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 Cmdlet Export-FormatData erstellt PowerShell-Formatierungsdateien (format.ps1xml) aus den Formatierungsobjekten in der aktuellen Sitzung. Sie verwendet die ExtendedTypeDefinition- Objekte, die Get-FormatData 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 das Cmdlet Update-FormatData verwenden, um einer Sitzung die Formatierungsdaten hinzuzufügen.

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

Beispiele

Beispiel 1: Exportieren von Sitzungsformatdaten

Get-FormatData -TypeName "*" -PowerShellVersion 5.1 | 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 Cmdlet Get-FormatData, um die Formatdaten in der Sitzung abzurufen. Der Wert * (alle) für den TypeName Parameter leitet das Cmdlet an, um alle Daten in der Sitzung abzurufen.

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

Der befehl Export-FormatData 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" -PowerShellVersion 5.1
Export-FormatData -InputObject $F -Path "c:\test\help.format.ps1xml" -IncludeScriptBlock

Mit diesen Befehlen werden die Formatdaten für die HelpInfoShort Typ in die Datei "Help.format.ps1xml" exportiert.

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

Der zweite Befehl verwendet den parameter InputObject des Cmdlets Export-FormatData, um die in der variablen $F 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" -PowerShellVersion 5.1 | 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

In diesem Beispiel wird der Effekt gezeigt, dass der IncludeScriptBlock- parameter aus einem Export-FormatData-Befehl weggelassen wird.

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

In diesem Fall verwendet der befehl Export-FormatData nicht den parameter IncludeScriptBlock.

Der zweite Befehl verwendet das Cmdlet Update-FormatData, um der aktuellen Sitzung die Datei Process.format.ps1xml hinzuzufügen. Der Befehl verwendet den Parameter PrependPath, 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 Cmdlet Get-Process 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 eine Benutzerbestätigung zu verlangen.

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 nicht standardmäßig exportiert.

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

-InputObject

Gibt die zu exportierenden Formatdatenobjekte an. 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 an Export-FormatDatapfeifen.

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 LiteralPath- genau so verwendet, wie er eingegeben wird. Es werden keine Zeichen als Wildcards interpretiert. Wenn der Pfad Escapezeichen enthält, schließen Sie ihn in einfache Anführungszeichen ein. 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 überschreibt Export-FormatData Dateien ohne Warnung, es sei denn, die Datei verfügt über das schreibgeschützte Attribut.

Verwenden Sie Export-FormatData 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 einen Dateinamen mit der Dateinamenerweiterung format.ps1xml ein. Wenn Sie den Pfad weglassen, erstellt Export-FormatData die Datei im aktuellen Verzeichnis.

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

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

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 an Export-FormatDataweitergeleitet werden.

Ausgaben

None

Export-FormatData gibt keine Objekte zurück. Sie 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 skripts und Konfigurationsdateien ausführen lassen. Weitere Informationen finden Sie unter about_Execution_Policies.