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 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.