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-Command
wird 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
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.
Ähnliche Themen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für