Export-FormatData
Speichert Formatierungsdaten der aktuellen Sitzung in einer Formatierungsdatei.
Syntax
Export-FormatData [-Force] [-IncludeScriptBlock] [-InputObject <ExtendedTypeDefinition[]>] [-NoClobber] [-Path <string>] [<CommonParameters>]
Beschreibung
Das Cmdlet "Export-FormatData" erstellt Windows PowerShell-Formatierungsdateien (format.ps1xml) aus den in der aktuellen Sitzung enthaltenen Formatierungsobjekten. Hierbei werden die von Get-FormatData zurückgegebenen ExtendedTypeDefinition-Objekte in einer Datei im XML-Format gespeichert.
Windows 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 die Formatierungsdaten mit dem Cmdlet "Update-FormatData" einer Sitzung hinzufügen.
Weitere Informationen zu Formatierungsdateien in Windows PowerShell finden Sie unter "about_Format.ps1xml".
Parameter
-Force
Überschreibt eine vorhandene Ausgabedatei, auch wenn die Datei über das Schreibschutzattribut verfügt.
Erforderlich? |
false |
Position? |
named |
Standardwert |
False |
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-IncludeScriptBlock
Bestimmt, 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.
Erforderlich? |
false |
Position? |
named |
Standardwert |
False |
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-InputObject <ExtendedTypeDefinition[]>
Gibt die zu exportierenden Formatdatenobjekte an. Geben Sie eine Variable ein, die die Objekte enthält, oder einen Befehl, mit dem die Objekte abgerufen werden, z. B. den Befehl "Get-FormatData". Sie können die Objekte auch über die Pipeline von Get-FormatData an Export-FormatData übergeben.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
true (ByValue) |
Platzhalterzeichen akzeptieren? |
false |
-NoClobber
Verhindert, dass das Cmdlet vorhandene Dateien überschreibt. Standardmäßig überschreibt Export-FormatData Dateien ohne Warnung, es sei denn, die Datei verfügt über das Schreibschutzattribut.
Um Export-FormatData anzuweisen, schreibgeschützte Dateien zu überschreiben, verwenden Sie den Force-Parameter.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-Path <string>
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, wird die Datei vom Cmdlet "Update-FormatData" nicht erkannt.
Wenn Sie eine vorhandene Datei angeben, wird die Datei von Export-FormatData ohne Warnung überschrieben, sofern sie nicht über das Schreibschutzattribut verfügt. Um eine schreibgeschützte Datei zu überschreiben, verwenden Sie den Force-Parameter. Um das Überschreiben von Dateien zu verhindern, verwenden Sie den NoClobber-Parameter.
Erforderlich? |
false |
Position? |
named |
Standardwert |
Keiner |
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
<CommonParameters>
Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.
Eingaben und Ausgaben
Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.
Eingaben |
System.Management.Automation.ExtendedTypeDefinition Sie können ExtendedTypeDefinition-Objekte über die Pipeline von Get-FormatData an Export-FormatData übergeben. |
Ausgaben |
Keiner Export-FormatData gibt keine Objekte zurück. Das Cmdlet generiert eine Datei und speichert sie am angegebenen Pfad. |
Hinweise
Damit eine Formatierungsdatei, einschließlich einer exportierten Formatierungsdatei, verwendet werden kann, muss die Ausführungsrichtlinie für die Sitzung die Ausführung von Skripts und Konfigurationsdateien zulassen. Weitere Informationen finden Sie unter "about_Execution_Policies".
Beispiel 1
C:\PS>get-formatdata -typename * | export-formatdata -path allformat.ps1xml -IncludeScriptBlock
Beschreibung
-----------
Mit diesem Befehl werden alle Formatdaten in der Sitzung in die Datei "AllFormat.ps1xml" exportiert.
Im Befehl werden die Formatdaten in der Sitzung mit dem Cmdlet "Get-FormatData" abgerufen. Durch den Wert * (alle) für den TypeName-Parameter wird das Cmdlet angewiesen, alle Daten in der Sitzung abzurufen.
Der Befehl sendet die Formatdaten über einen Pipelineoperator (|) vom Befehl "Get-FormatData" an das Cmdlet "Export-FormatData", das die Formatdaten in die Datei "AllFormat.ps1" exportiert.
Der Befehl "Export-FormatData" schließt Skriptblöcke mithilfe des IncludeScriptBlock-Parameters in die Formatdaten in der Datei ein.
Beispiel 2
C:\PS>$f = get-formatdata -typename helpinfoshort
C:\PS> export-formatdata -inputObject $f -path c:\test\help.format.ps1xml -IncludeScriptBlock
Beschreibung
-----------
Mit diesen Befehlen werden die Formatdaten für den HelpInfoShort-Typ in die Datei "Help.format.ps1xml" exportiert.
Der erste Befehl ruft die Formatdaten für den HelpInfoShort-Typ mit dem Cmdlet "Get-FormatData" ab und speichert diese in der Variablen "$f".
Der zweite Befehl verwendet den InputObject-Parameter von Export-FormatData zur Eingabe der in der Variablen "$f" gespeicherten Formatdaten. Zusätzlich wird der IncludeScriptBlock-Parameter verwendet, um Skriptblöcke in die Ausgabe einzuschließen.
Beispiel 3
C:\PS>get-formatdata -typename System.Diagnostics.Process | export-FormatData -path process.format.ps1xml
C:\PS> Update-FormatData -prependPath .\process.format.ps1xml
C:\PS> 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
Beschreibung
-----------
In diesem Beispiel wird veranschaulicht, was geschieht, wenn der IncludeScriptBlock-Parameter im Befehl "Export-FormatData" weggelassen wird.
Im ersten Befehl werden mit dem Cmdlet "Get-FormatData" die Formatdaten für das System.Diagnostics.Process-Objekt abgerufen, das vom Cmdlet "Get-Process" zurückgegeben wird. Der Befehl sendet die Formatierungsdaten mithilfe eines Pipelineoperators (|) an das Cmdlet "Export-FormatData", das die Daten in die Datei "Process.format.ps1xml" im aktuellen Verzeichnis exportiert.
In diesem Fall verwendet der Befehl "Export-FormatData" keinen IncludeScriptBlock-Parameter.
Im zweiten Befehl wird die Datei "Process.format.ps1xml" mit dem Cmdlet "Update-FormatData" der aktuellen Sitzung hinzugefügt. Im Befehl wird der PrependPath-Parameter verwendet, um sicherzustellen, dass die Formatierungsdaten für Prozessobjekte in der Datei "Process.format.ps1xml" vor den standardmäßigen Formatierungsdaten für Prozessobjekte gefunden werden.
Mit dem dritten Befehl werden die Auswirkungen dieser Änderung veranschaulicht. Der Befehl verwendet das Cmdlet "Get-Process", um Prozesse abzurufen, deren Name mit "P" beginnt. Aus der Ausgabe ist ersichtlich, dass keine Eigenschaftenwerte angezeigt werden, die mithilfe von Skriptblöcken berechnet werden.