Import-IseSnippet

ISE-fragmenten importeren in de huidige sessie

Syntax

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

Description

De Import-IseSnippet cmdlet importeert herbruikbare tekst 'fragmenten' uit een module of map in de huidige sessie. De fragmenten zijn onmiddellijk beschikbaar voor gebruik in Windows PowerShell ISE. Deze cmdlet werkt alleen in Windows PowerShell Integrated Scripting Environment (ISE).

Als u de geïmporteerde fragmenten wilt weergeven en gebruiken, klikt u in het menu Windows PowerShell ISE Bewerken op Fragmenten starten of drukt u op Ctrl+J.

Geïmporteerde fragmenten zijn alleen beschikbaar in de huidige sessie. Als u de fragmenten wilt importeren in alle Windows PowerShell ISE-sessies, voegt u een Import-IseSnippet opdracht toe aan uw Windows PowerShell-profiel of kopieert u de fragmentbestanden naar de map $HOME\Documents\WindowsPowershell\Snippetsmet lokale fragmenten.

Als u fragmenten wilt importeren, moeten ze correct zijn opgemaakt in de XML van het fragment voor Windows PowerShell ISE-fragmenten en worden opgeslagen in snippet.ps1xml-bestanden. Gebruik de New-IseSnippet cmdlet om in aanmerking komende fragmenten te maken. New-IseSnippet maakt een <SnippetTitle>.Snippets.ps1xml bestand in de $HOME\Documents\WindowsPowerShell\Snippets map. U kunt de fragmenten verplaatsen of kopiëren naar de map Fragmenten van een Windows PowerShell-module of naar een andere map.

De Get-IseSnippet cmdlet, waarmee door de gebruiker gemaakte fragmenten worden opgeslagen in de map met lokale fragmenten, worden geen geïmporteerde fragmenten getypeerde fragmenten.

Deze cmdlet is geïntroduceerd in Windows PowerShell 3.0.

Voorbeelden

Voorbeeld 1: Fragmenten importeren uit een map

In dit voorbeeld worden de fragmenten uit de \\Server01\Public\Snippets map geïmporteerd in de huidige sessie. De parameter Recurse wordt gebruikt om fragmenten op te halen uit alle submappen van de map Fragmenten.

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

Voorbeeld 2: Fragmenten uit een module importeren

In dit voorbeeld worden de fragmenten uit de module SnippetModule geïmporteerd. De opdracht gebruikt de parameter ListAvailable om de fragmenten te importeren, zelfs als de module SnippetModule niet wordt geïmporteerd in de sessie van de gebruiker wanneer de opdracht wordt uitgevoerd.

Import-IseSnippet -Module SnippetModule -ListAvailable

Voorbeeld 3: Fragmenten zoeken in modules

In dit voorbeeld worden fragmenten opgehaald in alle geïnstalleerde modules in de omgevingsvariabele PSModulePath .

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

Voorbeeld 4: Alle modulefragmenten importeren

In dit voorbeeld worden alle fragmenten uit alle geïnstalleerde modules geïmporteerd in de huidige sessie. Normaal gesproken hoeft u geen opdracht als deze uit te voeren, omdat modules met codefragmenten de Import-IseSnippet cmdlet gebruiken om ze voor u te importeren wanneer de module wordt geïmporteerd.

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

Voorbeeld 5: Alle modulefragmenten kopiëren

In dit voorbeeld worden de codefragmentbestanden van alle geïnstalleerde modules gekopieerd naar de Snippets map van de huidige gebruiker. In tegenstelling tot geïmporteerde fragmenten, die alleen van invloed zijn op de huidige sessie, zijn gekopieerde fragmenten beschikbaar in elke Windows PowerShell ISE-sessie.

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

Parameters

-ListAvailable

Geeft aan dat deze cmdlet fragmenten ophaalt uit modules die op de computer zijn geïnstalleerd, zelfs als de modules niet in de huidige sessie worden geïmporteerd. Als deze parameter wordt weggelaten en de module die is opgegeven door de moduleparameter niet wordt geïmporteerd in de huidige sessie, mislukt de poging om de fragmenten van de module op te halen.

Deze parameter is alleen geldig wanneer de moduleparameter wordt gebruikt in de opdracht.

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

-Module

Hiermee importeert u fragmenten uit de opgegeven module in de huidige sessie. Jokertekens worden niet ondersteund.

Met deze parameter importeert u fragmenten uit Snippet.ps1xml bestanden in de submap Fragmenten in het modulepad, zoals $HOME\Documents\WindowsPowerShell\Modules\<ModuleName>\Snippets.

Deze parameter is ontworpen voor gebruik door moduleauteurs in een opstartscript, zoals een script dat is opgegeven in de scriptToProcess-sleutel van een modulemanifest. Fragmenten in een module worden niet automatisch geïmporteerd met de module, maar u kunt een Import-IseSnippet opdracht gebruiken om ze te importeren.

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

-Path

Hiermee geeft u het pad naar de map met fragmenten waarin deze cmdlet fragmenten importeert.

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

-Recurse

Geeft aan dat met deze cmdlet fragmenten worden geïmporteerd uit alle submappen van de waarde van de parameter Path .

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

Invoerwaarden

None

U kunt geen objecten doorsluisen naar deze cmdlet.

Uitvoerwaarden

None

Deze cmdlet retourneert geen uitvoer.

Notities

  • U kunt de Get-IseSnippet cmdlet niet gebruiken om geïmporteerde fragmenten op te halen. Get-IseSnippet haalt alleen fragmenten op in de $HOME\Documents\WindowsPowerShell\Snippets map.

  • Import-IseSnippet maakt gebruik van de statische methode Load van Microsoft.PowerShell.Host.ISE.ISESnippetCollection-objecten . U kunt ook de load-methode van codefragmenten gebruiken in het Windows PowerShell ISE-objectmodel: $psISE.CurrentPowerShellTab.Snippets.Load()

  • Met de New-IseSnippet cmdlet worden nieuwe door de gebruiker gemaakte fragmenten opgeslagen in niet-ondertekende .ps1xml-bestanden. Als zodanig kan Windows PowerShell deze niet laden in een sessie waarin het uitvoeringsbeleid AllSigned of Restricted is. In een beperkte of AllSigned-sessie kunt u niet-ondertekende door de gebruiker gemaakte fragmenten maken, ophalen en importeren, maar u kunt deze niet gebruiken in de sessie.

    Als u niet-ondertekende door de gebruiker gemaakte fragmenten wilt gebruiken die door de Import-IseSnippet cmdlet worden geretourneerd, wijzigt u het uitvoeringsbeleid en start u Windows PowerShell ISE opnieuw.

    Zie about_Execution_Policies voor meer informatie over het windows PowerShell-uitvoeringsbeleid.