Freigeben über


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.