Get-IseSnippet
Ruft Codeausschnitte ab, die der Benutzer erstellt hat.
Syntax
Default (Standard)
Get-IseSnippet
Beschreibung
Das Cmdlet Get-ISESnippet 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 Cmdlet New-IseSnippet verwenden, um einen Codeausschnitt zu erstellen, erstellt New-IseSnippet einen <SnippetTitle>. Snippets.ps1xml im Verzeichnis $home\Documents\WindowsPowerShell\Snippets. Get-ISESnippet ruft die Codeausschnittdateien im Verzeichnis Snippets ab.
Mit diesem Cmdlet werden keine integrierten Codeausschnitte oder Codeausschnitte abgerufen, die über das Cmdlet Import-IseSnippet aus Modulen importiert werden.
Dieses Cmdlet wurde in Windows PowerShell 3.0 eingeführt.
Beispiele
Beispiel 1: Abrufen aller benutzerdefinierten Codeausschnitte
PS C:\> Get-ISESnippet
Mit diesem Befehl werden alle benutzerdefinierten Snippets im Verzeichnis Snippets abgerufen.
Beispiel 2: Kopieren aller benutzerdefinierten Codeausschnitte von Remotecomputern in ein freigegebenes Verzeichnis
PS C:\> Invoke-Command -Computer (Get-Content Servers.txt) {Get-ISESnippet | Copy-Item -Destination \\Server01\Share01\Snippets}
Mit diesem Befehl werden alle vom Benutzer erstellten Snippets aus einer Gruppe von Remotecomputern in ein freigegebenes Snippets-Verzeichnis kopiert.
Der Befehl verwendet das Cmdlet Invoke-Command, um einen Get-ISESnippet-Befehl auf den Computern in der Servers.txt Datei auszuführen. Ein Pipelineoperator (|) sendet die Codeausschnittdateien an das Cmdlet Copy-Item, das sie in das Verzeichnis kopiert, das durch den Destination-Parameter angegeben wird.
Beispiel 3: Anzeigen des Titels und Texts der einzelnen Codeausschnitte auf einem lokalen Computer
PS C:\> #Parse-Snippet Function
function Parse-Snippet
{
$A = Get-ISESnippet
$SnippetNamespace = @{x="https://schemas.microsoft.com/PowerShell/Snippets"}
foreach ($SnippetFile in $A)
{
Write-Host ""
$Title = Select-Xml -Path $SnippetFile.FullName -Namespace $SnippetNamespace -XPath "//x:Title" | foreach {$_.Node.InnerXML}
$Text = Select-Xml -Path $SnippetFile.FullName -Namespace $SnippetNamespace -XPath "//x:Script" | foreach {$_.Node.InnerText}
Write-Host "Title: $Title"
Write-Host "Text: $Text"
}
}
# Sample Output
Title: Mandatory
Text:
Param
(
[parameter(Mandatory=True)]
[String[]]
$<ParameterName>
)
Title: Copyright
Text: (c) Fabrikam, Inc. 2012
In diesem Beispiel werden die Cmdlets Get-ISESnippet und Select-Xml verwendet, um den Titel und den Text der einzelnen Codeausschnitte auf dem lokalen Computer anzuzeigen.
Beispiel 4: Anzeigen des Titels und der Beschreibung aller Codeausschnitte in der Sitzung
PS C:\> $PSISE.CurrentPowerShellTab.Snippets | Format-Table DisplayTitle, Description
Mit diesem Befehl werden der Titel und die Beschreibung aller Snippets in der Sitzung angezeigt, einschließlich der integrierten Snippets, der benutzerdefinierten Snippets und der importierten Snippets.
Der Befehl verwendet das Windows PowerShell ISE-Objektmodell. Die Variable $PSISE stellt das Windows PowerShell ISE-Hostprogramm dar. Die CurrentPowerShellTab-Eigenschaft der Variablen $PSISE stellt die aktuelle Sitzung dar. Die Snippets-Eigenschaft stellt Codeausschnitte in der aktuellen Sitzung dar.
Die $PSISE. Der Befehl CurrentPowerShellTab.Snippets gibt ein Microsoft.PowerShell.Host.ISE.ISESnippet-Objekt zurück, das einen Codeausschnitt darstellt, im Gegensatz zum Cmdlet Get-IseSnippet , das ein Dateiobjekt (System.Io.FileInfo) zurückgibt, das eine Codeausschnittdatei darstellt.
Der Befehl verwendet auch das Cmdlet Format-Table, um die DisplayTitle-Eigenschaft und die Description-Eigenschaft der Codeausschnitte in einer Tabelle anzuzeigen.
Ausgaben
FileInfo
Dieses Cmdlet gibt ein Dateiobjekt zurück, das die Codeausschnittdatei darstellt.
Hinweise
Das Cmdlet New-IseSnippet 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 Restrictedist. In einer Restricted oder AllSigned-Sitzung können Sie nicht signierte, vom Benutzer erstellte Codeausschnitte erstellen, abrufen und importieren, aber nicht in der Sitzung verwenden.
Wenn Sie nicht signierte, von Benutzern erstellte Codeausschnitte verwenden möchten, die vom Cmdlet Get-IseSnippet zurückgegeben werden, ä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.