Import-IseSnippet
Importa frammenti di codice ISE nella sessione corrente.
Sintassi
Import-IseSnippet
[-Path] <String>
[-Recurse]
[<CommonParameters>]
Import-IseSnippet
[-Recurse]
-Module <String>
[-ListAvailable]
[<CommonParameters>]
Descrizione
Il Import-IseSnippet
cmdlet importa testo riutilizzabile "frammenti" da un modulo o una directory nella sessione corrente. I frammenti di codice sono immediatamente disponibili per l'uso in Windows PowerShell ISE. Questo cmdlet funziona solo in Windows PowerShell Integrated Scripting Environment (ISE).
Per visualizzare e usare i frammenti di codice importati, dal menu Modifica ISE di Windows PowerShell fare clic su Avvia frammenti o premere CTRL+J.
I frammenti di codice importati sono disponibili solo nella sessione corrente. Per importare i frammenti di codice in tutte le sessioni di Windows PowerShell ISE, aggiungere un Import-IseSnippet
comando al profilo di Windows PowerShell o copiare i file di frammento nella directory $HOME\Documents\WindowsPowershell\Snippets
dei frammenti di codice locale.
Per importare frammenti di codice, devono essere formattati correttamente nel frammento XML per i frammenti di codice ISE di Windows PowerShell e salvati nei file Snippet.ps1xml. Per creare frammenti di codice idonei, usare il New-IseSnippet
cmdlet . New-IseSnippet
crea un <SnippetTitle>.Snippets.ps1xml
file nella $HOME\Documents\WindowsPowerShell\Snippets
directory . È possibile spostare o copiare i frammenti di codice nella directory Snippets di un modulo di Windows PowerShell o in qualsiasi altra directory.
Il Get-IseSnippet
cmdlet , che ottiene frammenti di codice creati dall'utente nella directory dei frammenti di codice locale, non ottiene frammenti di codice importati.
Questo cmdlet è stato introdotto in Windows PowerShell 3.0.
Esempio
Esempio 1: Importare frammenti di codice da una directory
In questo esempio vengono importati i frammenti di codice dalla \\Server01\Public\Snippets
directory nella sessione corrente. Usa il parametro Recurse per ottenere frammenti di codice da tutte le sottodirectory della directory Frammenti di codice.
Import-IseSnippet -Path \\Server01\Public\Snippets -Recurse
Esempio 2: Importare frammenti di codice da un modulo
In questo esempio vengono importati i frammenti di codice dal modulo SnippetModule . Il comando usa il parametro ListAvailable per importare i frammenti di codice anche se il modulo SnippetModule non viene importato nella sessione dell'utente quando viene eseguito il comando.
Import-IseSnippet -Module SnippetModule -ListAvailable
Esempio 3: Trovare frammenti di codice nei moduli
Questo esempio ottiene frammenti di codice in tutti i moduli installati nella variabile di ambiente PSModulePath .
($env:PSModulePath).split(";") |
ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
ForEach-Object {$_.Fullname}
Esempio 4: Importare tutti i frammenti di modulo
In questo esempio vengono importati tutti i frammenti di codice da tutti i moduli installati nella sessione corrente. In genere, non è necessario eseguire un comando come questo perché i moduli con frammenti di codice useranno il Import-IseSnippet
cmdlet per importarli automaticamente quando il modulo viene importato.
($env:PSModulePath).split(";") |
ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
ForEach-Object {$psISE.CurrentPowerShellTab.Snippets.Load($_)}
Esempio 5: Copiare tutti i frammenti di modulo
In questo esempio i file di frammento di codice vengono copiati da tutti i moduli installati nella Snippets
directory dell'utente corrente. A differenza dei frammenti di codice importati, che hanno effetto solo sulla sessione corrente, i frammenti di codice copiati sono disponibili in ogni sessione di Windows PowerShell ISE.
($env:PSModulePath).split(";") |
ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
Copy-Item -Destination $HOME\Documents\WindowsPowerShell\Snippets
Parametri
-ListAvailable
Indica che questo cmdlet ottiene frammenti di codice dai moduli installati nel computer, anche se i moduli non vengono importati nella sessione corrente. Se questo parametro viene omesso e il modulo specificato dal parametro Module non viene importato nella sessione corrente, il tentativo di ottenere i frammenti dal modulo ha esito negativo.
Questo parametro è valido solo quando il parametro Module viene usato nel comando .
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Module
Importa frammenti di codice dal modulo specificato nella sessione corrente. I caratteri jolly non sono supportati.
Questo parametro importa frammenti di codice dai Snippet.ps1xml
file nella sottodirectory Snippets nel percorso del modulo, ad esempio $HOME\Documents\WindowsPowerShell\Modules\<ModuleName>\Snippets
.
Questo parametro è progettato per essere usato dagli autori di moduli in uno script di avvio, ad esempio uno script specificato nella chiave ScriptsToProcess di un manifesto del modulo. I frammenti di codice in un modulo non vengono importati automaticamente con il modulo, ma è possibile usare un Import-IseSnippet
comando per importarli.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Path
Specifica il percorso della directory dei frammenti di codice in cui questo cmdlet importa frammenti di codice.
Tipo: | String |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | True |
-Recurse
Indica che questo cmdlet importa frammenti di codice da tutte le sottodirectory del valore del parametro Path .
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
None
Non è possibile inviare tramite pipe oggetti a questo cmdlet.
Output
None
Questo cmdlet non restituisce output.
Note
Non è possibile usare il
Get-IseSnippet
cmdlet per ottenere frammenti di codice importati.Get-IseSnippet
ottiene solo frammenti di codice nella$HOME\Documents\WindowsPowerShell\Snippets
directory.Import-IseSnippet
usa il metodo statico Load degli oggetti Microsoft.PowerShell.Host.ISE.ISESnippetCollection . È anche possibile usare il metodo Load dei frammenti di codice nel modello a oggetti di Windows PowerShell ISE:$psISE.CurrentPowerShellTab.Snippets.Load()
Il
New-IseSnippet
cmdlet archivia nuovi frammenti di codice creati dall'utente in file con estensione ps1xml non firmati. Di conseguenza, Windows PowerShell non può caricarli in una sessione in cui i criteri di esecuzione sono AllSigned o Restricted. In una sessione con restrizioni o AllSigned è possibile creare, ottenere e importare frammenti di codice non firmati creati dall'utente, ma non è possibile usarli nella sessione.Per usare frammenti di codice creati dall'utente non firmati restituiti dal
Import-IseSnippet
cmdlet, 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.