Import-IseSnippet
Importa frammenti di codice ISE nella sessione corrente
Sintassi
FromFolder (Impostazione predefinita)
Import-IseSnippet
[-Path] <String>
[-Recurse]
[<CommonParameters>]
FromModule
Import-IseSnippet
-Module <String>
[-Recurse]
[-ListAvailable]
[<CommonParameters>]
Descrizione
Il cmdlet Import-IseSnippet importa "frammenti" di testo riutilizzabili da un modulo o da 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 utilizzare i frammenti di codice importati, dal menu ISEEdit di Windows PowerShell fare clic su Avvia frammenti di codice o premere CTRL + J.
Gli snippet importati sono disponibili solo nella sessione corrente. Per importare i frammenti di codice in tutte le sessioni ISE di Windows PowerShell, aggiungere un comando Import-IseSnippet al profilo di Windows PowerShell o copiare i file dei frammenti nella directory locale dei frammenti ($home\Documents\WindowsPowershell\Snippets).
Per importare i frammenti, è necessario che siano formattati correttamente nel codice XML del frammento di codice per Windows PowerShell ISE e salvati in file Snippet.ps1xml. Per creare frammenti di codice idonei, usare il cmdlet New-IseSnippet. New-IseSnippet crea un <oggetto SnippetTitle>. Snippets.ps1xml nella directory $home\Documents\WindowsPowerShell\Snippets. È possibile spostare o copiare i frammenti di codice nella directory Frammenti di un modulo di Windows PowerShell o in qualsiasi altra directory.
Il cmdlet Get-IseSnippet, che ottiene i frammenti di codice creati dall'utente nella directory dei frammenti di codice locale, non ottiene i frammenti di codice importati.
Questo cmdlet è stato introdotto in Windows PowerShell 3.0.
Esempio
Esempio 1: Importazione di frammenti da una directory
Import-IseSnippet -Path \\Server01\Public\Snippets -Recurse
Questo comando importa i frammenti dalla directory \\Server01\Public\Snippets nella sessione corrente. Utilizza il parametro Recurse per ottenere frammenti da tutte le sottodirectory della directory Snippets.
Esempio 2: Importazione di snippet da un modulo
Import-IseSnippet -Module SnippetModule -ListAvailable
Questo comando importa i frammenti dal modulo SnippetModule. Il comando utilizza il parametro ListAvailable per importare i frammenti di codice anche se il modulo SnippetModule non viene importato nella sessione dell'utente quando il comando viene eseguito.
Esempio 3: Trovare frammenti nei moduli
($env:PSModulePath).split(";") | ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} | ForEach-Object {$_.fullname}
Questo comando ottiene frammenti di codice in tutti i moduli installati nella variabile di ambiente PSModulePath.
Esempio 4: Importazione di tutti gli snippet di modulo
($env:PSModulePath).split(";") | ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} | ForEach-Object {$psise.CurrentPowerShellTab.Snippets.Load($_)}
Questo comando importa tutti i frammenti di 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 cmdlet Import-IseSnippet per importarli automaticamente quando il modulo viene importato.
Esempio 5: Copiare tutti gli snippet del modulo
($env:PSModulePath).split(";") | ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} | Copy-Item -Destination $home\Documents\WindowsPowerShell\Snippets
Questo comando copia i file di snippet da tutti i moduli installati nella directory Snippets dell'utente corrente. A differenza dei frammenti di codice importati, che interessano solo la sessione corrente, i frammenti copiati sono disponibili in ogni sessione di Windows PowerShell ISE.
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 avrà esito negativo.
Questo parametro è valido solo quando il parametro Module viene utilizzato nel comando.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
FromModule
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Module
Importa i frammenti di codice dal modulo specificato nella sessione corrente. I caratteri jolly non sono supportati.
Questo parametro importa frammenti di codice dai file Snippet.ps1xml nella sottodirectory Snippets nel percorso del modulo, ad esempio $home\Documents\WindowsPowerShell\Modules\<ModuleName>\Snippets.
Questo parametro è progettato per essere utilizzato 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 utilizzare un comando Import-IseSnippet per importarli.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
FromModule
| Posizione: | Named |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Path
Specifica il percorso della directory degli snippet in cui questo cmdlet importa gli snippet.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
FromFolder
| Posizione: | 1 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Recurse
Indicare che questo cmdlet importa frammenti di codice da tutte le sottodirectory del valore del parametro Path .
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.
Input
None
Questo cmdlet non accetta input dalla pipeline.
Output
None
Questo cmdlet non genera output.
Note
Non è possibile utilizzare il cmdlet Get-IseSnippet per ottenere frammenti di codice importati. Get-IseSnippet ottiene solo frammenti nella directory $home\Documents\WindowsPowerShell\Snippets.
Import-IseSnippet usa il metodo statico Load degli oggetti Microsoft.PowerShell.Host.ISE.ISESnippetCollection. È inoltre possibile utilizzare il metodo Load dei frammenti di codice nel modello a oggetti ISE di Windows PowerShell: $psISE.CurrentPowerShellTab.Snippets.Load()
Il cmdlet New-IseSnippet archivia i nuovi frammenti di codice creati dall'utente in file con estensione ps1xml non firmati. Di conseguenza, Windows PowerShell non è in grado di caricarli in una sessione in cui i criteri di esecuzione sono AllSigned o Restricted. 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 utilizzare frammenti di codice non firmati creati dall'utente restituiti dal cmdlet Import-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.