Delen via


Get-IseSnippet

Haalt 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 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 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 op een lokale computer weergeven

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.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.

De Format-Table cmdlet geeft de eigenschappen DisplayTitle en Description van de fragmenten in een tabel weer.

Invoerwaarden

None

U kunt geen objecten doorsluisen naar deze cmdlet.

Uitvoerwaarden

FileInfo

Met deze cmdlet wordt een bestandsobject geretourneerd dat het codefragmentbestand 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 deze 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 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_Policies voor meer informatie over het windows PowerShell-uitvoeringsbeleid.