Import-IseSnippet

Importerar ISE-kodfragment till den aktuella sessionen

Syntax

Import-IseSnippet
      [-Path] <String>
      [-Recurse]
      [<CommonParameters>]
Import-IseSnippet
      [-Recurse]
      -Module <String>
      [-ListAvailable]
      [<CommonParameters>]

Description

Cmdleten Import-IseSnippet importerar återanvändbar text "kodfragment" från en modul eller en katalog till den aktuella sessionen. Kodfragmenten är omedelbart tillgängliga för användning i Windows PowerShell ISE. Den här cmdleten fungerar endast i Windows PowerShell Integrated Scripting Environment (ISE).

Om du vill visa och använda de importerade kodfragmenten klickar du på Starta kodfragment i Windows PowerShell ISE-menyn eller trycker på Ctrl+J.

Importerade kodfragment är endast tillgängliga i den aktuella sessionen. Om du vill importera kodfragmenten till alla Windows PowerShell ISE-sessioner lägger du till ett Import-IseSnippet kommando i Din Windows PowerShell-profil eller kopierar kodfragmentfilerna till din lokala kodfragmentkatalog $HOME\Documents\WindowsPowershell\Snippets.

Om du vill importera kodfragment måste de vara korrekt formaterade i kodfragmentets XML för Windows PowerShell ISE-kodfragment och sparas i Snippet.ps1xml-filer. Om du vill skapa berättigade kodfragment använder du cmdleten New-IseSnippet . New-IseSnippet skapar en <SnippetTitle>.Snippets.ps1xml fil i $HOME\Documents\WindowsPowerShell\Snippets katalogen. Du kan flytta eller kopiera kodfragmenten till katalogen Kodfragment i en Windows PowerShell-modul eller till någon annan katalog.

Cmdleten Get-IseSnippet , som hämtar användarskapade kodfragment i den lokala kodfragmentkatalogen, får inte importerade kodfragment.

Den här cmdleten introducerades i Windows PowerShell 3.0.

Exempel

Exempel 1: Importera kodfragment från en katalog

I det här exemplet importeras kodfragmenten \\Server01\Public\Snippets från katalogen till den aktuella sessionen. Den använder parametern Recurse för att hämta kodfragment från alla underkataloger i katalogen Kodfragment.

Import-IseSnippet -Path \\Server01\Public\Snippets -Recurse

Exempel 2: Importera kodfragment från en modul

I det här exemplet importeras kodfragmenten från modulen SnippetModule . Kommandot använder parametern ListAvailable för att importera kodfragmenten även om modulen SnippetModule inte importeras till användarens session när kommandot körs.

Import-IseSnippet -Module SnippetModule -ListAvailable

Exempel 3: Hitta kodfragment i moduler

Det här exemplet hämtar kodfragment i alla installerade moduler i miljövariabeln PSModulePath .

($env:PSModulePath).split(";") |
  ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
    ForEach-Object {$_.fullname}

Exempel 4: Importera alla modulfragment

Det här exemplet importerar alla kodfragment från alla installerade moduler till den aktuella sessionen. Normalt behöver du inte köra ett kommando som det här eftersom moduler som har kodfragment använder cmdleten Import-IseSnippet för att importera dem åt dig när modulen importeras.

($env:PSModulePath).split(";") |
  ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
    ForEach-Object {$psise.CurrentPowerShellTab.Snippets.Load($_)}

Exempel 5: Kopiera alla modulfragment

I det här exemplet kopieras kodfragmentfilerna från alla installerade moduler till katalogen Snippets för den aktuella användaren. Till skillnad från importerade kodfragment, som endast påverkar den aktuella sessionen, är kopierade kodfragment tillgängliga i varje Windows PowerShell ISE-session.

($env:PSModulePath).split(";") |
  ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
    Copy-Item -Destination $HOME\Documents\WindowsPowerShell\Snippets

Parametrar

-ListAvailable

Anger att den här cmdleten hämtar kodfragment från moduler som är installerade på datorn, även om modulerna inte importeras till den aktuella sessionen. Om den här parametern utelämnas och modulen som anges av modulparametern inte importeras till den aktuella sessionen misslyckas försöket att hämta kodfragmenten från modulen.

Den här parametern är endast giltig när modulparametern används i kommandot .

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Module

Importerar kodfragment från den angivna modulen till den aktuella sessionen. Jokertecken stöds inte.

Den här parametern importerar kodfragment från Snippet.ps1xml filer i underkatalogen Kodfragment i modulsökvägen, till exempel $HOME\Documents\WindowsPowerShell\Modules\<ModuleName>\Snippets.

Den här parametern är utformad för att användas av modulförfattare i ett startskript, till exempel ett skript som anges i scriptsToProcess-nyckeln för ett modulmanifest. Kodfragment i en modul importeras inte automatiskt med modulen, men du kan använda ett Import-IseSnippet kommando för att importera dem.

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

-Path

Anger sökvägen till kodfragmentkatalogen där den här cmdleten importerar kodfragment.

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

-Recurse

Anger att den här cmdleten importerar kodfragment från alla underkataloger till värdet för parametern Path .

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Indata

None

Du kan inte skicka objekt till den här cmdleten.

Utdata

None

Den här cmdleten returnerar inga utdata.

Kommentarer

  • Du kan inte använda cmdleten Get-IseSnippet för att hämta importerade kodfragment. Get-IseSnippet hämtar endast kodfragment i $HOME\Documents\WindowsPowerShell\Snippets katalogen.

  • Import-IseSnippet använder den statiska metoden Load för Objekten Microsoft.PowerShell.Host.ISE.ISESnippetCollection . Du kan också använda inläsningsmetoden för kodfragment i Windows PowerShell ISE-objektmodellen: $psISE.CurrentPowerShellTab.Snippets.Load()

  • Cmdleten New-IseSnippet lagrar nya användarskapade kodfragment i osignerade .ps1xml-filer. Därför kan Windows PowerShell inte läsa in dem i en session där körningsprincipen är AllSigned eller Restricted. I en begränsad session eller AllSigned-session kan du skapa, hämta och importera osignerade användarskapade kodfragment, men du kan inte använda dem i sessionen.

    Om du vill använda osignerade användarskapade kodfragment som cmdleten Import-IseSnippet returnerar ändrar du körningsprincipen och startar sedan om Windows PowerShell ISE.

    Mer information om Körningsprinciper för Windows PowerShell finns i about_Execution_Policies.