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 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 Windows PowerShell ISE-Bearbeitungsmenü auf "Codeausschnitte starten", 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 im Codeausschnitt-XML für Windows PowerShell ISE-Codeausschnitte ordnungsgemäß formatiert und in Codeausschnitten.ps1xml-Dateien gespeichert werden. Verwenden Sie das New-IseSnippet Cmdlet, um berechtigte Codeausschnitte zu erstellen. New-IseSnippet erstellt eine <SnippetTitle>.Snippets.ps1xml Datei im $HOME\Documents\WindowsPowerShell\Snippets Verzeichnis. Sie können die Codeausschnitte in das Verzeichnis „Snippets“ eines Windows PowerShell-Moduls oder in ein beliebiges anderen Verzeichnis verschieben oder kopieren.

Das Get-IseSnippet Cmdlet, 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 \\Server01\Public\Snippets Verzeichnis in die aktuelle Sitzung importiert. Er verwendet den Parameter Recurse , 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 Import-IseSnippet Cmdlet zum Importieren des Moduls verwenden.

($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 Snippets Verzeichnis des aktuellen Benutzers kopiert. Im Gegensatz zu importierten Codeausschnitten, die nur die aktuelle Sitzung betreffen, sind die kopierten 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 durch den Parameter "Module" 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.

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 Codeausschnitt-Unterverzeichnis im Modulpfad, z $HOME\Documents\WindowsPowerShell\Modules\<ModuleName>\Snippets. B. .

Dieser Parameter wurde entwickelt, um von Modulautoren in einem Startskript verwendet zu werden, z. B. ein skript, das im SkriptToProcess-Schlüssel eines Modulmanifests angegeben ist. Codeausschnitte in einem Modul werden nicht automatisch mit dem Modul importiert, aber Sie können einen Import-IseSnippet Befehl verwenden, um sie zu importieren.

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 dem dieses Cmdlet Codeausschnitte importiert.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:True

-Recurse

Gibt 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

Sie können keine Objekte an dieses Cmdlet weiterleiten.

Ausgaben

None

Dieses Cmdlet gibt keine Ausgabe zurück.

Hinweise

  • Sie können das Get-IseSnippet Cmdlet nicht verwenden, um importierte Codeausschnitte abzurufen. Get-IseSnippet ruft nur Codeausschnitte im $HOME\Documents\WindowsPowerShell\Snippets Verzeichnis ab.

  • Import-IseSnippet verwendet die Load static-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 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 "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 Import-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.