Import-IseSnippet
ISE-fragmenten importeren in de huidige sessie
Syntaxis
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\Snippets
met 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 |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | 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 |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Path
Hiermee geeft u het pad naar de map met fragmenten waarin deze cmdlet fragmenten importeert.
Type: | String |
Position: | 1 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | 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 |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | 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.