Freigeben über


Get-IseSnippet

Ruft vom Benutzer erstellte Codeausschnitte ab.

Syntax

Get-IseSnippet []

Beschreibung

Das Get-IseSnippet Cmdlet ruft die PS1XML-Dateien ab, die wiederverwendbare Textausschnitte enthalten, die der Benutzer erstellt hat. Sie funktioniert nur in windows PowerShell Integrated Scripting Environment (ISE).

Wenn Sie das New-IseSnippet Cmdlet zum Erstellen eines Codeausschnitts verwenden, New-IseSnippet wird eine <SnippetTitle>.Snippets.ps1xml Datei im $HOME\Documents\WindowsPowerShell\Snippets Verzeichnis erstellt. Get-IseSnippet ruft die Codeausschnittdateien im Codeausschnittverzeichnis ab.

Dieses Cmdlet ruft keine integrierten Codeausschnitte oder Codeausschnitte ab, die aus Modulen über das Import-IseSnippet Cmdlet importiert werden.

Dieses Cmdlet wurde in Windows PowerShell 3.0 eingeführt.

Beispiele

Beispiel 1: Abrufen aller benutzerdefinierten Codeausschnitte

In diesem Beispiel werden alle Codeausschnitte vom Benutzer definiert, die im Codeausschnittverzeichnis enthalten sind.

Get-IseSnippet

Beispiel 2: Kopieren aller benutzerdefinierten Codeausschnitte von Remotecomputern in ein freigegebenes Verzeichnis

In diesem Beispiel werden alle vom Benutzer erstellten Codeausschnitte aus einer Gruppe von Remotecomputern in ein freigegebenes Codeausschnittverzeichnis kopiert.

Invoke-Command -Computer (Get-Content Servers.txt) {Get-IseSnippet | Copy-Item -Destination \\Server01\Share01\Snippets}

Invoke-Commandwird auf den Computern in der Servers.txt Datei ausgeführtGet-IseSnippet. Ein Pipelineoperator (|) sendet die Codeausschnittdateien an das Copy-Item Cmdlet, das sie in das Verzeichnis kopiert, das durch den Parameter Destination angegeben wird.

Beispiel 3: Anzeigen des Titels und Texts der einzelnen Codeausschnitte auf einem lokalen Computer

In diesem Beispiel werden der Titel und der Text der einzelnen Codeausschnitte auf dem lokalen Computer mit den Get-IseSnippet Cmdlets und Select-Xml Cmdlets angezeigt.

#Parse-Snippet Function
function Parse-Snippet {
  $SnippetFiles = Get-IseSnippet
  $SnippetNamespace = @{x="http://schemas.microsoft.com/PowerShell/Snippets"}
  foreach ($SnippetFile in $SnippetFiles) {
     Write-Host ""
     $Title = Select-Xml -Path $SnippetFile.FullName -Namespace $SnippetNamespace -XPath "//x:Title" |
       ForEach-Object {$_.Node.InnerXML}
     $Text = Select-Xml -Path $SnippetFile.FullName -Namespace $SnippetNamespace -XPath "//x:Script" |
       ForEach-Object {$_.Node.InnerText}
     Write-Host "Title: $Title"
     Write-Host "Text: $Text"
   }
}

Title: Mandatory
Text:
Param
(
  [parameter(Mandatory=True)]
  [String[]]
  $<ParameterName>
)

Title: Copyright
Text:  (c) Fabrikam, Inc. 2012

Beispiel 4: Anzeigen des Titels und der Beschreibung aller Codeausschnitte in der Sitzung

In diesem Beispiel werden der Titel und die Beschreibung aller Codeausschnitte in der Sitzung angezeigt, einschließlich integrierter Codeausschnitte, benutzerdefinierter Codeausschnitte und importierter Codeausschnitte.

$PSISE.CurrentPowerShellTab.Snippets | Format-Table DisplayTitle, Description

Die $PSISE Variable stellt das Windows PowerShell ISE-Hostprogramm dar. Die CurrentPowerShellTab-Eigenschaft der $PSISE Variablen stellt die aktuelle Sitzung dar. Die Snippets-Eigenschaft stellt Codeausschnitte in der aktuellen Sitzung dar.

Der $PSISE.CurrentPowerShellTab.Snippets Befehl gibt ein Microsoft.PowerShell.Host.ISE.ISESnippet -Objekt zurück, das einen Codeausschnitt darstellt, im Gegensatz zum Get-IseSnippet Cmdlet. Get-IseSnippet gibt ein Dateiobjekt (System.Io.FileInfo) zurück, das eine Codeausschnittdatei darstellt.

Das Format-Table Cmdlet zeigt die Eigenschaften DisplayTitle und Description der Codeausschnitte in einer Tabelle an.

Eingaben

None

Sie können keine Objekte an dieses Cmdlet weiterleiten.

Ausgaben

FileInfo

Dieses Cmdlet gibt ein Dateiobjekt zurück, das die Codeausschnittdatei darstellt.

Hinweise

  • Das New-IseSnippet Cmdlet speichert neue vom Benutzer erstellte Codeausschnitte in nicht signierten PS1XML-Dateien. Daher kann Windows PowerShell sie nicht zu einer Sitzung hinzufügen, in der die Ausführungsrichtlinie "AllSigned" oder "Restricted" lautet. In einer Eingeschränkten oder AllSigned-Sitzung können Sie nicht signierte, vom Benutzer erstellte Codeausschnitte erstellen, abrufen und importieren, sie können jedoch nicht in der Sitzung verwenden.

    Wenn Sie nicht signierte vom Benutzer erstellte Codeausschnitte verwenden möchten, die das Get-IseSnippet Cmdlet zurückgibt, ändern Sie die Ausführungsrichtlinie, und starten Sie dann Windows PowerShell ISE neu.

    Weitere Informationen zu Windows PowerShell-Ausführungsrichtlinien finden Sie unter about_Execution_Policies.