Sdílet prostřednictvím


Import-IseSnippet

Importuje fragmenty ise do aktuální relace.

Syntaxe

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

Description

Rutina Import-IseSnippet importuje opakovaně použitelný text "fragmenty" z modulu nebo adresáře do aktuální relace. Fragmenty kódu jsou okamžitě dostupné pro použití v prostředí Windows PowerShell ISE. Tato rutina funguje jenom v integrovaném skriptovacím prostředí Windows PowerShellu (ISE).

Importované fragmenty kódu zobrazíte a použijete tak, že v nabídce Úpravy prostředí Windows PowerShell ISE kliknete na Start Snippets nebo stisknete ctrl+J.

Importované fragmenty kódu jsou k dispozici pouze v aktuální relaci. Pokud chcete importovat fragmenty kódu do všech relací prostředí Windows PowerShell ISE, přidejte Import-IseSnippet do profilu Prostředí Windows PowerShell příkaz nebo zkopírujte soubory fragmentů do místního adresáře $HOME\Documents\WindowsPowershell\Snippetsfragmentů kódu .

Aby bylo možné importovat fragmenty kódu, musí být správně naformátované ve formátu XML fragmentu kódu pro fragmenty ise windows PowerShellu a uloženy v souborech Snippet.ps1xml. K vytvoření oprávněných fragmentů kódu použijte rutinu New-IseSnippet . New-IseSnippet vytvoří <SnippetTitle>.Snippets.ps1xml soubor v adresáři $HOME\Documents\WindowsPowerShell\Snippets . Fragmenty kódu můžete přesunout nebo zkopírovat do adresáře Fragmenty kódu modulu Windows PowerShellu nebo do jakéhokoli jiného adresáře.

Rutina Get-IseSnippet , která získá fragmenty kódu vytvořené uživatelem v adresáři místních fragmentů kódu, nezískal importované fragmenty kódu.

Tato rutina byla zavedena ve Windows PowerShellu 3.0.

Příklady

Příklad 1: Import fragmentů kódu z adresáře

Tento příklad naimportuje fragmenty kódu z \\Server01\Public\Snippets adresáře do aktuální relace. Používá parametr Recurse k získání fragmentů ze všech podadresářů adresáře Fragments.

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

Příklad 2: Import fragmentů kódu z modulu

Tento příklad naimportuje fragmenty kódu z modulu SnippetModule . Příkaz používá parametr ListAvailable k importu fragmentů kódu, i když modul SnippetModule není importován do relace uživatele při spuštění příkazu.

Import-IseSnippet -Module SnippetModule -ListAvailable

Příklad 3: Vyhledání fragmentů v modulech

Tento příklad získá fragmenty kódu ve všech nainstalovaných modulech v proměnné prostředí PSModulePath .

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

Příklad 4: Import všech fragmentů kódu modulu

Tento příklad naimportuje všechny fragmenty kódu ze všech nainstalovaných modulů do aktuální relace. Obvykle nemusíte spouštět podobný příkaz, protože moduly, které obsahují fragmenty kódu, po importu Import-IseSnippet modulu po importu modulu použijí rutinu k jejich importu.

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

Příklad 5: Kopírování všech fragmentů kódu modulu

Tento příklad zkopíruje soubory fragmentu kódu ze všech nainstalovaných modulů do Snippets adresáře aktuálního uživatele. Na rozdíl od importovaných fragmentů kódu, které ovlivňují pouze aktuální relaci, jsou zkopírované fragmenty kódu dostupné v každé relaci prostředí Windows PowerShell ISE.

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

Parametry

-ListAvailable

Označuje, že tato rutina získá fragmenty z modulů nainstalovaných v počítači, i když moduly nejsou importovány do aktuální relace. Pokud tento parametr vynecháte a modul určený parametrem Module se do aktuální relace neimportuje, pokus o získání fragmentů z modulu selže.

Tento parametr je platný pouze v případě, že se v příkazu použije parametr Modulu .

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Module

Importuje fragmenty kódu ze zadaného modulu do aktuální relace. Zástupné znaky nejsou podporovány.

Tento parametr importuje fragmenty ze Snippet.ps1xml souborů v podadresáři Fragmenty v cestě modulu, například $HOME\Documents\WindowsPowerShell\Modules\<ModuleName>\Snippets.

Tento parametr je navržený tak, aby ho autoři modulů používali ve spouštěcím skriptu, například skript zadaný v klíči ScriptsToProcess manifestu modulu. Fragmenty kódu v modulu se neimportují automaticky s modulem, ale k jejich importu můžete použít Import-IseSnippet příkaz.

Typ:String
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Path

Určuje cestu k adresáři fragmentů kódu, ve kterém tato rutina importuje fragmenty kódu.

Typ:String
Position:1
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:True

-Recurse

Označuje, že tato rutina importuje fragmenty kódu ze všech podadresářů hodnoty parametru Path .

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

None

Do této rutiny nemůžete roušit objekty.

Výstupy

None

Tato rutina nevrátí žádný výstup.

Poznámky

  • Rutinu Get-IseSnippet nelze použít k získání importovaných fragmentů kódu. Get-IseSnippet získá pouze fragmenty kódu v adresáři $HOME\Documents\WindowsPowerShell\Snippets .

  • Import-IseSnippetpoužívá statickou metodu Load Microsoft.PowerShell.Host.ISE.ISESnippetCollection objektů. Můžete také použít metodu Load fragmentů kódu v objektovém modelu prostředí Windows PowerShell ISE: $psISE.CurrentPowerShellTab.Snippets.Load()

  • Rutina New-IseSnippet ukládá nové fragmenty kódu vytvořené uživatelem do nepodepsaných souborů .ps1xml. Prostředí Windows PowerShell je proto nemůže načíst do relace, ve které jsou zásady spouštění AllSigned nebo Restricted. V relaci Restricted nebo AllSigned můžete vytvořit, získat a importovat nepodepsané fragmenty kódu vytvořené uživatelem, ale nemůžete je použít v relaci.

    Pokud chcete použít nepodepsané uživatelem vytvořené fragmenty kódu, které rutina Import-IseSnippet vrátí, změňte zásady spouštění a restartujte prostředí Windows PowerShell ISE.

    Další informace o zásadách spouštění prostředí Windows PowerShell najdete v tématu about_Execution_Policies.