Partager via


Get-IseSnippet

Obtient les extraits de code créés par l'utilisateur.

Syntax

Get-IseSnippet []

Description

L’applet de commande Get-ISESnippet obtient les fichiers PS1XML qui contiennent des extraits de texte réutilisables que l’utilisateur a créés. Il fonctionne uniquement dans Windows PowerShell’environnement de script intégré (ISE).

Lorsque vous utilisez l’applet de commande New-IseSnippet pour créer un extrait de code, New-IseSnippet crée un <Extrait de code.> Fichier Snippets.ps1xml dans le répertoire $home\Documents\WindowsPowerShell\Snippets. Get-ISESnippet obtient les fichiers d'extraits de code dans le répertoire Snippets.

Cette applet de commande n’obtient pas d’extraits de code intégrés ou d’extraits de code importés à partir de modules via l’applet de commande Import-IseSnippet.

Cette applet de commande a été introduite dans Windows PowerShell 3.0.

Exemples

Exemple 1 : Obtenir tous les extraits de code définis par l’utilisateur

PS C:\> Get-ISESnippet

Cette commande obtient tous les extraits de code définis par l'utilisateur dans le répertoire Snippets.

Exemple 2 : Copier tous les extraits de code définis par l’utilisateur à partir d’ordinateurs distants vers un répertoire partagé

PS C:\> Invoke-Command -Computer (Get-Content Servers.txt) {Get-ISESnippet | Copy-Item -Destination \\Server01\Share01\Snippets}

Cette commande copie tous les extraits de code créés par l'utilisateur d'un groupe d'ordinateurs distants vers un répertoire Snippets partagé.

La commande utilise l’applet de commande Invoke-Command pour exécuter une commande Get-ISESnippet sur les ordinateurs du fichier Servers.txt. Un opérateur de pipeline (|) envoie les fichiers d’extraits de code à l’applet de commande Copy-Item, qui les copie dans le répertoire spécifié par le paramètre Destination .

Exemple 3 : Afficher le titre et le texte de chaque extrait de code sur un ordinateur local

PS C:\> #Parse-Snippet Function

function Parse-Snippet
{
  $A = Get-ISESnippet
  $SnippetNamespace = @{x="https://schemas.microsoft.com/PowerShell/Snippets"}
  foreach ($SnippetFile in $A)
   {
     Write-Host ""
     $Title = Select-Xml -Path $SnippetFile.FullName -Namespace $SnippetNamespace -XPath "//x:Title" | foreach {$_.Node.InnerXML}
     $Text =  Select-Xml -Path $SnippetFile.FullName -Namespace $SnippetNamespace -XPath "//x:Script" | foreach {$_.Node.InnerText}
     Write-Host "Title: $Title"
     Write-Host "Text: $Text"
   }
}

# Sample Output

Title: Mandatory
Text:
Param
(
  [parameter(Mandatory=True)]
  [String[]]
  $<ParameterName>
)

Title: Copyright
Text:  (c) Fabrikam, Inc. 2012

Cet exemple utilise les applets de commande Get-ISESnippet et Select-Xml pour afficher le titre et le texte de chaque extrait de code sur l’ordinateur local.

Exemple 4 : Afficher le titre et la description de tous les extraits de code dans la session

PS C:\> $PSISE.CurrentPowerShellTab.Snippets | Format-Table DisplayTitle, Description

Cette commande affiche le titre et la description de tous les extraits de code dans la session, y compris les extraits intégrés, définis par l'utilisateur et importés.

La commande utilise le modèle objet Windows PowerShell ISE. La variable $PSISE représente le programme hôte ISE Windows PowerShell. La propriété CurrentPowerShellTab de la variable $PSISE représente la session active. La propriété Snippets représente les extraits de code dans la session active.

$PSISE. La commande CurrentPowerShellTab.Snippets renvoie un objet Microsoft.PowerShell.Host.ISE.ISE.ISESnippet qui représente un extrait de code, contrairement à l’applet de commande Get-IseSnippet , qui renvoie un objet de fichier (System.Io.FileInfo) qui représente un fichier d’extrait de code.

La commande utilise également l’applet de commande Format-Table pour afficher les propriétés DisplayTitle et Description des extraits de code dans une table.

Sorties

FileInfo

Cette applet de commande retourne un objet de fichier qui représente le fichier d’extrait de code.

Notes

  • L'applet de commande New-IseSnippet stocke les nouveaux extraits de code créés par l'utilisateur dans des fichiers .ps1xml non signés. En conséquence, Windows PowerShell ne peut pas les ajouter à une session dans laquelle la stratégie d'exécution est AllSigned ou Restricted. Dans une session Restricted ou AllSigned, vous pouvez créer, obtenir et importer des extraits de code créés par l'utilisateur non signés, mais vous ne pouvez pas les utiliser dans la session.

    Pour utiliser des extraits de code créés par l'utilisateur non signés que retourne l'applet de commande Get-IseSnippet, modifiez la stratégie d'exécution et redémarrez Windows PowerShell ISE.

    Pour plus d'informations sur les stratégies d'exécution Windows PowerShell, consultez about_Execution_Policies.