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 cmdlet Import-IseSnippet
importiert wiederverwendbare Textausschnitte 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 ISE Bearbeiten" auf Codeausschnitte 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 das lokale Codeausschnittverzeichnis $HOME\Documents\WindowsPowershell\Snippets
.
Zum Importieren von Codeausschnitten müssen sie im Codeausschnitt-XML für Windows PowerShell ISE-Codeausschnitte ordnungsgemäß formatiert und in Codeausschnitten.ps1xml-Dateien gespeichert werden. Verwenden Sie zum Erstellen berechtigter Codeausschnitte das Cmdlet New-IseSnippet
.
New-IseSnippet
erstellt eine <SnippetTitle>.Snippets.ps1xml
Datei im $HOME\Documents\WindowsPowerShell\Snippets
Verzeichnis. Sie können die Codeausschnitte in das Codeausschnittverzeichnis eines Windows PowerShell-Moduls oder in ein anderes Verzeichnis verschieben oder kopieren.
Das Cmdlet Get-IseSnippet
, das vom Benutzer 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
In diesem Beispiel werden die Codeausschnitte aus dem verzeichnis \\Server01\Public\Snippets
in die aktuelle Sitzung importiert. Es verwendet den Recurse Parameter, um Codeausschnitte aus allen Unterverzeichnissen des Codeausschnittverzeichnisses abzurufen.
Import-IseSnippet -Path \\Server01\Public\Snippets -Recurse
Beispiel 2: Importieren von Codeausschnitten aus einem Modul
In diesem Beispiel werden die Codeausschnitte aus dem SnippetModule Modul importiert. Der Befehl verwendet den parameter ListAvailable, um die Codeausschnitte zu importieren, auch wenn das SnippetModule Modul nicht in die Sitzung des Benutzers importiert wird, wenn der Befehl ausgeführt wird.
Import-IseSnippet -Module SnippetModule -ListAvailable
Beispiel 3: Suchen von Codeausschnitten in Modulen
In diesem Beispiel werden Codeausschnitte in allen installierten Modulen in der PSModulePath Umgebungsvariablen angezeigt.
($env:PSModulePath).split(";") |
ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
ForEach-Object {$_.Fullname}
Beispiel 4: Importieren aller Modulausschnitte
In diesem Beispiel werden alle Codeausschnitte aus allen installierten Modulen in die aktuelle Sitzung importiert. In der Regel müssen Sie keinen Befehl wie diesen ausführen, da Module mit Codeausschnitten das cmdlet Import-IseSnippet
verwenden, um sie beim Importieren des Moduls für Sie zu importieren.
($env:PSModulePath).split(";") |
ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
ForEach-Object {$psISE.CurrentPowerShellTab.Snippets.Load($_)}
Beispiel 5: Kopieren aller Modulausschnitte
In diesem Beispiel werden die Codeausschnittdateien aus allen installierten Modulen in das verzeichnis Snippets
des aktuellen Benutzers kopiert. Im Gegensatz zu importierten Codeausschnitten, die sich nur auf die aktuelle Sitzung auswirken, sind kopierte Codeausschnitte in jeder Windows PowerShell ISE-Sitzung verfügbar.
($env:PSModulePath).split(";") |
ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
Copy-Item -Destination $HOME\Documents\WindowsPowerShell\Snippets
Parameter
-ListAvailable
Gibt an, dass dieses Cmdlet Codeausschnitte aus 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, schlägt der Versuch fehl, die Codeausschnitte aus dem Modul abzurufen.
Dieser Parameter ist nur gültig, wenn der parameter Module im Befehl verwendet wird.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Module
Importiert Codeausschnitte aus dem angegebenen Modul in die aktuelle Sitzung. Wildcardzeichen 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 wurde entwickelt, um von Modulautoren in einem Startskript verwendet zu werden, z. B. ein skript, das im ScriptsToProcess Schlüssel eines Modulmanifests angegeben ist. Codeausschnitte in einem Modul werden nicht automatisch mit dem Modul importiert, Sie können jedoch einen Import-IseSnippet
Befehl verwenden, um sie zu importieren.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Path
Gibt den Pfad zum Codeausschnittverzeichnis an, in dem dieses Cmdlet Codeausschnitte importiert.
Typ: | String |
Position: | 1 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-Recurse
Gibt an, dass dieses Cmdlet Codeausschnitte aus allen Unterverzeichnissen des Werts des Path-Parameters importiert.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
None
Sie können keine Objekte an dieses Cmdlet weiterleiten.
Ausgaben
None
Dieses Cmdlet gibt keine Ausgabe zurück.
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 Load statische Methode von Microsoft.PowerShell.Host.ISE.ISESnippetCollection-Objekte. Sie können auch die Load Methode von Codeausschnitten im Windows PowerShell ISE-Objektmodell verwenden:$psISE.CurrentPowerShellTab.Snippets.Load()
Das Cmdlet
New-IseSnippet
speichert neue vom Benutzer erstellte Codeausschnitte in nicht signierten PS1XML-Dateien. Daher kann Windows PowerShell sie nicht in eine Sitzung laden, 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 vom Benutzer erstellte Codeausschnitte verwenden möchten, die vom cmdlet
Import-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.