Condividi tramite


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 cmdlet Import-IseSnippet importa frammenti di codice di testo riutilizzabili 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 importati, dal menu Windows PowerShell ISEEdit fare clic su Avvia frammenti o premere CTRL + J.

I frammenti di codice importati sono disponibili solo nella sessione corrente. Per importare i frammenti in tutte le sessioni ISE Windows PowerShell, aggiungere un comando Import-IseSnippet al profilo Windows PowerShell o copiare i file di frammento nella directory dei frammenti di codice locale ($home\Documents\WindowsPowershell\Snippets).

Per importare frammenti di codice, devono essere formattati correttamente nel codice XML del frammento di codice per Windows PowerShell frammenti di codice ISE e salvati nei file Snippet.ps1xml. Per creare frammenti di codice idonei, usare il cmdlet New-IseSnippet. New-IseSnippet crea un <frammento> di codice. Frammento di codice.ps1xml nella directory $home\Documents\WindowsPowerShell\Snippets. È possibile spostare o copiare i frammenti di codice nella directory Snippets di un modulo di Windows PowerShell o in qualsiasi altra directory.

Il cmdlet Get-IseSnippet, 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

Import-IseSnippet -Path \\Server01\Public\Snippets -Recurse

Questo comando importa i frammenti di codice dalla directory \\Server01\Public\Snippets nella sessione corrente. Usa il parametro Recurse per ottenere frammenti di codice da tutte le sottodirectory della directory Snippets.

Esempio 2: Importare frammenti di codice da un modulo

Import-IseSnippet -Module SnippetModule -ListAvailable

Questo comando importa i frammenti di codice dal modulo SnippetModule. 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.

Esempio 3: Trovare frammenti di codice nei moduli

($env:PSModulePath).split(";") | ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} | ForEach-Object {$_.fullname}

Questo comando ottiene i frammenti di codice in tutti i moduli installati nella variabile di ambiente PSModulePath.

Esempio 4: Importare tutti i frammenti 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 codice di tutti i moduli installati nella sessione corrente. In genere, non è necessario eseguire un comando come questo, perché i moduli che contengono frammenti di codice useranno il cmdlet Import-IseSnippet per importarli automaticamente durante la loro importazione.

Esempio 5: Copiare tutti i frammenti di modulo

($env:PSModulePath).split(";") | ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} | Copy-Item -Destination $home\Documents\WindowsPowerShell\Snippets

Questo comando copia i file dei frammenti di codice di tutti i moduli installati nella directory Snippets 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.

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 di codice dal modulo non riuscirà.

Questo parametro è valido solo quando nel comando viene usato il parametro Module.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Module

Importa frammenti di codice dal modulo specificato nella sessione corrente. I caratteri jolly non sono supportati.

Questo parametro importa frammenti di codice da file Snippet.ps1xml nella sottodirectory Frammenti di codice nel percorso del modulo, ad esempio $home\Documents\WindowsPowerShell\Modules\<ModuleName>\Snippets.

Questo parametro è progettato per essere usato dagli autori di moduli in una schermata di avvio, ad esempio uno script specificato nella chiave ScriptsToProcess del manifesto di un modulo. I frammenti di codice di un modulo non vengono automaticamente importati con il modulo, ma è possibile usare un comando Import-IseSnippet per importarli.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Path

Specifica il percorso della directory dei frammenti di codice in cui questo cmdlet importa frammenti di codice.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Recurse

Indicare che questo cmdlet importa frammenti di codice da tutte le sottodirectory del valore del parametro Path .

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Input

None

Questo cmdlet non accetta input dalla pipeline.

Output

None

Questo cmdlet non genera output.

Note

  • Non è possibile usare il cmdlet Get-IseSnippet per ottenere frammenti di codice importati. Get-IseSnippet ottiene solo i frammenti di codice contenuti nella directory $home\Documents\WindowsPowerShell\Snippets.

  • Import-IseSnippet usa il metodo statico Load di Microsoft.PowerShell.Host.ISE.ISESnippetCollection. È anche possibile usare il metodo Load dei frammenti nel modello a oggetti ISE 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 può caricarli in una sessione in cui i criteri di esecuzione sono AllSigned o Restricted. In una sessione Restricted o AllSigned è possibile creare, ottenere e importare frammenti di codice non firmati creati dall'utente, ma non è possibile usarli.

    Per usare frammenti creati dall'utente senza segno 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.