Condividi tramite


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 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.

Gli snippet 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\Snippetsdei frammenti di codice locale.

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 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 Frammenti 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: Importazione di frammenti 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: Importazione di snippet 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 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: Importazione di tutti gli snippet 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 gli snippet del 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 interessano solo la sessione corrente, i frammenti 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 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 Snippet.ps1xml file 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 usare un Import-IseSnippet comando 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:True
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

Indica 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

Gli oggetti non possono essere inviati tramite pipe a questo cmdlet.

Output

None

Questo cmdlet non restituisce alcun 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 cmdlet New-IseSnippet archivia nuovi frammenti creati dall'utente in file di .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 usare frammenti di codice creati dall'utente non firmati 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.