Delen via


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

FileInfo

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.