Import-IseSnippet
Importiert ISE-Codeausschnitte in die aktuelle Sitzung.
Syntax
Import-IseSnippet
[-Path] <String>
[-Recurse]
[<CommonParameters>]
Import-IseSnippet
[-Recurse]
-Module <String>
[-ListAvailable]
[<CommonParameters>]
Beschreibung
Das Import-IseSnippet-Cmdlet importiert Codeausschnitte mit wiederverwendbarem Text aus einem Modul oder einem Verzeichnis in die aktuelle Sitzung. Die Codeausschnitte stehen sofort zur Verwendung in Windows PowerShell ISE zur Verfügung. Dieses Cmdlet funktioniert nur in Windows PowerShell Integrated Scripting Environment (ISE).
Um die importierten Codeausschnitte anzuzeigen und zu verwenden, klicken Sie im menü Windows PowerShell ISEEdit auf Startausschnitte, oder drücken Sie STRG+ J.
Importierte Codeausschnitte sind nur in der aktuellen Sitzung verfügbar. Um die Codeausschnitte in alle Windows PowerShell ISE-Sitzungen zu importieren, fügen Sie Ihrem Windows PowerShell-Profil einen Import-IseSnippet-Befehl hinzu, oder kopieren Sie die Codeausschnittdateien in Ihr lokales Codeausschnittverzeichnis ($home\Documents\WindowsPowershell\Snippets).
Zum Importieren von Codeausschnitten müssen sie ordnungsgemäß in der Codeausschnitt-XML für Windows PowerShell ISE-Codeausschnitte formatiert und in Snippet.ps1xml-Dateien gespeichert werden. Verwenden Sie zum Erstellen berechtigter Codeausschnitte das Cmdlet New-IseSnippet. New-IseSnippet erstellt einen <SnippetTitle>. Die Datei Snippets.ps1xml im Verzeichnis $home\Documents\WindowsPowerShell\Snippets. Sie können die Codeausschnitte in das Verzeichnis „Snippets“ eines Windows PowerShell-Moduls oder in ein beliebiges anderen Verzeichnis verschieben oder kopieren.
Das Cmdlet Get-IseSnippet, das benutzerseitig erstellte Codeausschnitte im lokalen Codeausschnittverzeichnis abruft, ruft keine importierten Codeausschnitte ab.
Dieses Cmdlet wurde in Windows PowerShell 3.0 eingeführt.
Beispiele
Beispiel 1: Importieren von Codeausschnitten aus einem Verzeichnis
Import-IseSnippet -Path \\Server01\Public\Snippets -Recurse
Dieser Befehl importiert die Codeausschnitte aus dem Verzeichnis „\\Server01\Public\Snippets“ in die aktuelle Sitzung. Er verwendet den Recurse-Parameter, um Codeausschnitte aus allen Unterverzeichnissen des Verzeichnisses „Snippets“ abzurufen.
Beispiel 2: Importieren von Codeausschnitten aus einem Modul
Import-IseSnippet -Module SnippetModule -ListAvailable
Dieser Befehl importiert die Codeausschnitte aus dem SnippetModule-Modul. Der Befehl verwendet den ListAvailable-Parameter zum Importieren der Codeausschnitte, selbst wenn das SnippetModule-Modul bei Ausführung des Befehls nicht in die Sitzung des Benutzers importiert wird.
Beispiel 3: Suchen nach Codeausschnitten in Modulen
($env:PSModulePath).split(";") | ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} | ForEach-Object {$_.fullname}
Dieser Befehl ruft Codeausschnitte in allen installierten Modulen in der PSModulePath-Umgebungsvariablen ab.
Beispiel 4: Importieren aller Modulausschnitte
($env:PSModulePath).split(";") | ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} | ForEach-Object {$psise.CurrentPowerShellTab.Snippets.Load($_)}
Dieser Befehl importiert alle Codeausschnitte aus allen installierten Modulen in die aktuelle Sitzung. In der Regel müssen Sie keinen Befehl wie diesen ausführen, da Module mit Codeausschnitten das Import-IseSnippet-Cmdlet verwenden, um sie beim Modulimport für Sie zu importieren.
Beispiel 5: Kopieren aller Modulausschnitte
($env:PSModulePath).split(";") | ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} | Copy-Item -Destination $home\Documents\WindowsPowerShell\Snippets
Dieser Befehl kopiert die Codeausschnittsdateien aus allen installierten Modulen in das Verzeichnis „Snippets“ des aktuellen Benutzers. Im Gegensatz zu importierten Codeausschnitten, die nur die aktuelle Sitzung betreffen, sind die kopierten Codeausschnitte in jeder Windows PowerShell ISE-Sitzung verfügbar.
Parameter
-ListAvailable
Gibt an, dass dieses Cmdlet Codeausschnitte von Modulen abruft, die auf dem Computer installiert sind, auch wenn die Module nicht in die aktuelle Sitzung importiert werden. Wenn dieser Parameter nicht angegeben wird und das vom Module-Parameter angegebene Modul nicht in die aktuelle Sitzung importiert wird, können die Codeausschnitte nicht aus dem Modul abgerufen werden.
Dieser Parameter ist nur gültig, wenn der Module-Parameter im Befehl verwendet wird.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Module
Importiert Codeausschnitte aus dem angegebenen Modul in die aktuelle Sitzung. Platzhalterzeichen werden nicht unterstützt.
Dieser Parameter importiert Codeausschnitte aus Snippet.ps1xml-Dateien im Unterverzeichnis Snippets im Modulpfad, z. B. $home\Documents\WindowsPowerShell\Modules\<ModuleName>\Snippets.
Dieser Parameter ist für die Verwendung durch Modulautoren in einem Startskript gedacht, wie z. B. ein im ScriptsToProcess-Schlüssel eines Modulmanifests angegebenes Modul. Codeausschnitte in einem Modul werden nicht automatisch mit dem Modul importiert, können jedoch mit einem Import-IseSnippet-Befehl importiert werden.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Gibt den Pfad zum Codeausschnittverzeichnis an, in das dieses Cmdlet Codeausschnitte importiert.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Recurse
Geben Sie an, dass dieses Cmdlet Codeausschnitte aus allen Unterverzeichnissen des Werts des Path-Parameters importiert.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Eingaben
None
Dieses Cmdlet nimmt keine Eingabe von der Pipeline an.
Ausgaben
None
Dieses Cmdlet generiert keine Ausgabe.
Hinweise
Sie können das Cmdlet Get-IseSnippet nicht verwenden, um importierte Codeausschnitte abzurufen. Get-IseSnippet ruft nur Codeausschnitte im Verzeichnis „$home\Documents\WindowsPowerShell\Snippets“ ab.
Import-IseSnippet verwendet die statische Load-Methode von Microsoft.PowerShell.Host.ISE.ISESnippetCollection-Objekten. Sie können auch die Load-Methode von Codeausschnitten im Windows PowerShell ISE-Objektmodell verwenden: $psISE.CurrentPowerShellTab.Snippets.Load()
Das New-IseSnippet-Cmdlet speichert neue benutzererstellte Codeausschnitte in unsignierten PS1XML-Dateien. Daher kann Windows PowerShell sie nicht in Sitzungen laden, in denen die Ausführungsrichtlinie AllSigned oder Restricted gilt. In einer Sitzung mit der Ausführungsrichtlinie Restricted oder AllSigned können Sie zwar unsignierte benutzererstellte Codeausschnitte erstellen, abrufen und importieren, aber nicht in der Sitzung verwenden.
Um nicht signierte, vom Benutzer erstellte Codeausschnitte zu verwenden, die das Cmdlet Import-IseSnippet 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.