Get-IseSnippet
Haalt fragmenten op die de gebruiker heeft gemaakt.
Syntaxis
Get-IseSnippet []
Description
De Get-IseSnippet
-cmdlet haalt de PS1XML-bestanden op die herbruikbare tekstfragmenten bevatten die de gebruiker heeft gemaakt. Het werkt alleen in Windows PowerShell Integrated Scripting Environment (ISE).
Wanneer u de cmdlet New-IseSnippet
gebruikt om een fragment te maken, maakt New-IseSnippet
een <SnippetTitle>.Snippets.ps1xml
bestand in de $HOME\Documents\WindowsPowerShell\Snippets
map.
Get-IseSnippet
haalt de fragmentbestanden op in de map Fragmenten.
Met deze cmdlet worden geen ingebouwde fragmenten of fragmenten opgehaald die zijn geïmporteerd uit modules via de Import-IseSnippet
-cmdlet.
Deze cmdlet is geïntroduceerd in Windows PowerShell 3.0.
Voorbeelden
Voorbeeld 1: Alle door de gebruiker gedefinieerde fragmenten ophalen
In dit voorbeeld worden alle door de gebruiker gedefinieerde fragmenten in de map Fragmenten opgeslagen.
Get-IseSnippet
Voorbeeld 2: alle door de gebruiker gedefinieerde fragmenten van externe computers naar een gedeelde map kopiëren
In dit voorbeeld worden alle door de gebruiker gemaakte fragmenten van een groep externe computers gekopieerd naar een gedeelde map met fragmenten.
Invoke-Command -Computer (Get-Content Servers.txt) {Get-IseSnippet | Copy-Item -Destination \\Server01\Share01\Snippets}
Invoke-Command
wordt Get-IseSnippet
uitgevoerd op de computers in het Servers.txt
-bestand. Een pijplijnoperator (|
) verzendt de codefragmentbestanden naar de cmdlet Copy-Item
, waarmee ze worden gekopieerd naar de map die is opgegeven door de parameter Destination.
Voorbeeld 3: De titel en tekst van elk fragment op een lokale computer weergeven
In dit voorbeeld worden de cmdlets Get-IseSnippet
en Select-Xml
gebruikt om de titel en tekst van elk fragment op de lokale computer weer te geven.
#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
Voorbeeld 4: De titel en beschrijving van alle fragmenten in de sessie weergeven
In dit voorbeeld ziet u de titel en beschrijving van alle fragmenten in de sessie, inclusief ingebouwde fragmenten, door de gebruiker gedefinieerde fragmenten en geïmporteerde fragmenten.
$PSISE.CurrentPowerShellTab.Snippets | Format-Table DisplayTitle, Description
De $PSISE
-variabele vertegenwoordigt het Windows PowerShell ISE-hostprogramma. De eigenschap CurrentPowerShellTab van de variabele $PSISE
vertegenwoordigt de huidige sessie. De eigenschap fragmenten vertegenwoordigt fragmenten in de huidige sessie.
De $PSISE.CurrentPowerShellTab.Snippets
opdracht retourneert een Microsoft.PowerShell.Host.ISE.ISESnippet object dat een fragment vertegenwoordigt, in tegenstelling tot de Get-IseSnippet
cmdlet.
Get-IseSnippet
retourneert een bestandsobject (System.Io.FileInfo) dat een codefragmentbestand vertegenwoordigt.
Met de cmdlet Format-Table
worden de eigenschappen DisplayTitle en Description eigenschappen van de fragmenten in een tabel weergegeven.
Invoerwaarden
None
U kunt geen objecten doorsluisen naar deze cmdlet.
Uitvoerwaarden
Met deze cmdlet wordt een bestandsobject geretourneerd dat het codefragmentbestand vertegenwoordigt.
Notities
De
New-IseSnippet
cmdlet slaat nieuwe door de gebruiker gemaakte fragmenten op in niet-ondertekende .ps1xml-bestanden. Als zodanig kan Windows PowerShell deze niet toevoegen aan een sessie waarin het uitvoeringsbeleid is AllSigned of Restricted. In een beperkte of sessie AllSigned 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
Get-IseSnippet
cmdlet worden geretourneerd, wijzigt u het uitvoeringsbeleid en start u Windows PowerShell ISE opnieuw.Zie about_Execution_Policiesvoor meer informatie over het windows PowerShell-uitvoeringsbeleid.