Get-IseSnippet
Hämtar kodfragment som användaren skapade.
Syntax
Get-IseSnippet []
Description
Cmdleten Get-IseSnippet
hämtar PS1XML-filerna som innehåller återanvändbara textfragment som användaren skapade. Det fungerar endast i Windows PowerShell Integrated Scripting Environment (ISE).
När du använder cmdleten New-IseSnippet
för att skapa ett kodfragment skapar New-IseSnippet
en <SnippetTitle>.Snippets.ps1xml
fil i katalogen $HOME\Documents\WindowsPowerShell\Snippets
.
Get-IseSnippet
hämtar kodfragmentfilerna i katalogen Kodfragment.
Den här cmdleten hämtar inte inbyggda kodfragment eller kodfragment som importeras från moduler via cmdleten Import-IseSnippet
.
Den här cmdleten introducerades i Windows PowerShell 3.0.
Exempel
Exempel 1: Hämta alla användardefinierade kodfragment
Det här exemplet hämtar alla användardefinierade kodfragment i katalogen Kodfragment.
Get-IseSnippet
Exempel 2: Kopiera alla användardefinierade kodfragment från fjärrdatorer till en delad katalog
I det här exemplet kopieras alla användarskapade kodfragment från en grupp fjärrdatorer till en delad kodfragmentkatalog.
Invoke-Command -Computer (Get-Content Servers.txt) {Get-IseSnippet | Copy-Item -Destination \\Server01\Share01\Snippets}
Invoke-Command
kör Get-IseSnippet
på datorerna i filen Servers.txt
. En pipelineoperator (|
) skickar kodfragmentfilerna till cmdleten Copy-Item
, som kopierar dem till katalogen som anges av parametern Destination.
Exempel 3: Visa rubrik och text för varje kodfragment på en lokal dator
I det här exemplet används cmdletarna Get-IseSnippet
och Select-Xml
för att visa rubriken och texten för varje kodfragment på den lokala datorn.
#Parse-Snippet Function
function Parse-Snippet {
$SnippetFiles = Get-IseSnippet
$SnippetNamespace = @{x="http://schemas.microsoft.com/PowerShell/Snippets"}
foreach ($SnippetFile in $SnippetFiles) {
Write-Host ""
$Title = Select-Xml -Path $SnippetFile.FullName -Namespace $SnippetNamespace -XPath "//x:Title" |
ForEach-Object {$_.Node.InnerXML}
$Text = Select-Xml -Path $SnippetFile.FullName -Namespace $SnippetNamespace -XPath "//x:Script" |
ForEach-Object {$_.Node.InnerText}
Write-Host "Title: $Title"
Write-Host "Text: $Text"
}
}
Title: Mandatory
Text:
Param
(
[parameter(Mandatory=True)]
[String[]]
$<ParameterName>
)
Title: Copyright
Text: (c) Fabrikam, Inc. 2012
Exempel 4: Visa rubriken och beskrivningen av alla kodfragment i sessionen
I det här exemplet visas rubriken och beskrivningen av alla kodfragment i sessionen, inklusive inbyggda kodfragment, användardefinierade kodfragment och importerade kodfragment.
$PSISE.CurrentPowerShellTab.Snippets | Format-Table DisplayTitle, Description
Variabeln $PSISE
representerar Windows PowerShell ISE-värdprogrammet. Egenskapen CurrentPowerShellTab för variabeln $PSISE
representerar den aktuella sessionen. Egenskapen kodfragment representerar kodfragment i den aktuella sessionen.
Kommandot $PSISE.CurrentPowerShellTab.Snippets
returnerar ett Microsoft.PowerShell.Host.ISE.ISESnippet-objekt som representerar ett kodfragment, till skillnad från cmdleten Get-IseSnippet
.
Get-IseSnippet
returnerar ett filobjekt (System.Io.FileInfo) som representerar en kodfragmentfil.
Cmdleten Format-Table
visar egenskaperna DisplayTitle och Description för kodfragmenten i en tabell.
Indata
None
Du kan inte skicka objekt till den här cmdleten.
Utdata
Den här cmdleten returnerar ett filobjekt som representerar kodfragmentfilen.
Kommentarer
Cmdleten
New-IseSnippet
lagrar nya användarskapade kodfragment i osignerade .ps1xml-filer. Windows PowerShell kan därför inte lägga till dem i en session där körningsprincipen är AllSigned eller Restricted. I en Begränsad 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
Get-IseSnippet
cmdlet 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.