Get-IseSnippet
Ottiene frammenti di codice creati dall'utente.
Sintassi
Default (Impostazione predefinita)
Get-IseSnippet
Descrizione
Il cmdlet get-ISESnippet
Quando si usa il cmdlet New-IseSnippet per creare un frammento di codice, New-IseSnippet crea un <SnippetTitle>. File Snippets.ps1xml nella directory $home\Documents\WindowsPowerShell\Snippets. Get-ISESnippet ottiene i file di frammento di codice nella directory Frammenti di codice.
Questo cmdlet non ottiene frammenti di codice o frammenti predefiniti importati dai moduli tramite il cmdlet Import-IseSnippet.
Questo cmdlet è stato introdotto in Windows PowerShell 3.0.
Esempio
Esempio 1: Ottenere tutti i frammenti definiti dall'utente
PS C:\> Get-ISESnippet
Questo comando ottiene tutti i frammenti di codice definiti dall'utente nella directory Frammenti di codice.
Esempio 2: Copiare tutti i frammenti definiti dall'utente da computer remoti a una directory condivisa
PS C:\> Invoke-Command -Computer (Get-Content Servers.txt) {Get-ISESnippet | Copy-Item -Destination \\Server01\Share01\Snippets}
Questo comando copia tutti i frammenti di codice creati dall'utente da un gruppo di computer remoti a una directory frammenti di codice condiviso.
Il comando usa il cmdlet Invoke-Command per eseguire un comando Get-ISESnippet
Esempio 3: Visualizzare il titolo e il testo di ogni frammento in un computer locale
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
Questo esempio usa i cmdlet Get-ISESnippet
Esempio 4: visualizzare il titolo e la descrizione di tutti i frammenti di codice nella sessione
PS C:\> $PSISE.CurrentPowerShellTab.Snippets | Format-Table DisplayTitle, Description
Questo comando visualizza il titolo e la descrizione di tutti i frammenti di codice nella sessione, inclusi frammenti predefiniti, frammenti di codice definiti dall'utente e frammenti importati.
Il comando usa il modello a oggetti di Windows PowerShell ISE.
La variabile $PSISE rappresenta il programma host di Windows PowerShell ISE.
La proprietà CurrentPowerShellTab della variabile $PSISE rappresenta la sessione corrente.
La proprietà frammenti di codice
$PSISE. Il comando CurrentPowerShellTab.Snippets restituisce un oggetto
Il comando usa anche il cmdlet Format-Table per visualizzare le DisplayTitle
Output
FileInfo
Questo cmdlet restituisce un oggetto file che rappresenta il file di frammento di codice.
Note
Il cmdlet New-IseSnippet
archivia nuovi frammenti creati dall'utente in file con estensione ps1xml non firmati. Di conseguenza, Windows PowerShell non può aggiungerli a una sessione in cui il criterio di esecuzione è AllSigned o limitato. In una sessione di con restrizioni o AllSigned è possibile creare, ottenere e importare frammenti non firmati creati dall'utente, ma non è possibile usarli nella sessione. Per usare frammenti di codice creati dall'utente non firmati restituiti dal cmdlet Get-IseSnippet, modificare i criteri di esecuzione e quindi riavviare Windows PowerShell ISE.
Per altre informazioni sui criteri di esecuzione di Windows PowerShell, vedere about_Execution_Policies.