Get-IseSnippet

Hiermee haalt u fragmenten op die de gebruiker heeft gemaakt.

Syntax

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 New-IseSnippet cmdlet gebruikt om een fragment te maken, New-IseSnippet maakt u 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 via de Import-IseSnippet cmdlet uit modules worden geïmporteerd.

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 gekopieerd van een groep externe computers naar een gedeelde map met fragmenten.

Invoke-Command -Computer (Get-Content Servers.txt) {Get-IseSnippet | Copy-Item -Destination \\Server01\Share01\Snippets}

Invoke-Command wordt uitgevoerd Get-IseSnippet op de computers in het Servers.txt bestand. Een pijplijnoperator (|) verzendt de codefragmentbestanden naar de Copy-Item cmdlet, waarmee ze worden gekopieerd naar de map die is opgegeven door de doelparameter.

Voorbeeld 3: de titel en tekst van elk fragment weergeven op een lokale computer

In dit voorbeeld worden de Get-IseSnippet en Select-Xml cmdlets 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 $PSISE variabele vertegenwoordigt de huidige sessie. De eigenschap Fragmenten vertegenwoordigt fragmenten in de huidige sessie.

De $PSISE.CurrentPowerShellTab.Snippets opdracht retourneert een Microsoft.PowerShell.Host.ISE.ISE.ISESnippet-object dat een fragment vertegenwoordigt, in tegenstelling tot de Get-IseSnippet cmdlet. Get-IseSnippet retourneert een bestandsobject (System.Io.FileInfo) dat een fragmentbestand vertegenwoordigt.

Met Format-Table de cmdlet worden de eigenschappen DisplayTitle en Description van de fragmenten in een tabel weergegeven.

Uitvoerwaarden

FileInfo

Deze cmdlet retourneert een bestandsobject dat het fragmentbestand vertegenwoordigt.

Notities

  • Met de New-IseSnippet cmdlet worden nieuwe door de gebruiker gemaakte fragmenten opgeslagen in niet-ondertekende .ps1xml-bestanden. Als zodanig kan Windows PowerShell ze niet toevoegen aan 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 ze 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_Policies voor meer informatie over Windows PowerShell uitvoeringsbeleid.