Import-IseSnippet

Importa fragmentos de código ISE a la sesión actual.

Syntax

Import-IseSnippet
      [-Path] <String>
      [-Recurse]
      [<CommonParameters>]
Import-IseSnippet
      [-Recurse]
      -Module <String>
      [-ListAvailable]
      [<CommonParameters>]

Description

El Import-IseSnippet cmdlet importa fragmentos de texto reutilizables desde un módulo o un directorio a la sesión actual. Los fragmentos de código están disponibles inmediatamente para su uso en Windows PowerShell ISE. Este cmdlet solo funciona en el entorno de scripting integrado (ISE) de Windows PowerShell.

Para ver y usar los fragmentos de código importados, en el menú Edición de Windows PowerShell ISE, haga clic en Iniciar fragmentos de código o presione Ctrl+J.

Los fragmentos de código importados solo están disponibles en la sesión actual. Para importar los fragmentos de código en todas las sesiones de Windows PowerShell ISE, agregue un Import-IseSnippet comando al perfil de Windows PowerShell o copie los archivos de fragmento de código en el directorio $HOME\Documents\WindowsPowershell\Snippetslocal de fragmentos de código .

Para importar fragmentos de código, deben tener el formato correcto en el XML del fragmento de código para los fragmentos de código ISE de Windows PowerShell y guardarlos en archivos Snippet.ps1xml. Para crear fragmentos de código aptos, use el New-IseSnippet cmdlet . New-IseSnippet crea un <SnippetTitle>.Snippets.ps1xml archivo en el $HOME\Documents\WindowsPowerShell\Snippets directorio . Los fragmentos de código se pueden mover o copiar en el directorio Snippets de un módulo de Windows PowerShell o a cualquier otro directorio.

El Get-IseSnippet cmdlet , que obtiene fragmentos de código creados por el usuario en el directorio de fragmentos de código locales, no obtiene fragmentos de código importados.

Este cmdlet se introdujo en Windows PowerShell 3.0.

Ejemplos

Ejemplo 1: Importación de fragmentos de código desde un directorio

En este ejemplo se importan los fragmentos de código del \\Server01\Public\Snippets directorio en la sesión actual. Usa el parámetro Recurse para obtener fragmentos de código de todos los subdirectorios del directorio Snippets.

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

Ejemplo 2: Importación de fragmentos de código desde un módulo

En este ejemplo se importan los fragmentos de código del módulo SnippetModule . El comando usa el parámetro ListAvailable para importar los fragmentos de código incluso si el módulo SnippetModule no se importa en la sesión del usuario cuando se ejecuta el comando.

Import-IseSnippet -Module SnippetModule -ListAvailable

Ejemplo 3: Buscar fragmentos de código en módulos

En este ejemplo se obtienen fragmentos de código de todos los módulos instalados en la variable de entorno PSModulePath .

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

Ejemplo 4: Importación de todos los fragmentos de código de módulo

En este ejemplo se importan todos los fragmentos de código de todos los módulos instalados en la sesión actual. Normalmente, no es necesario ejecutar un comando como este porque los módulos que tienen fragmentos de código usarán el Import-IseSnippet cmdlet para importarlos cuando se importe el módulo.

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

Ejemplo 5: Copiar todos los fragmentos de código de módulo

En este ejemplo se copian los archivos de fragmento de código de todos los módulos instalados en el Snippets directorio del usuario actual. A diferencia de los fragmentos de código importados, que afectan solo a la sesión actual, los fragmentos copiados están disponibles en cada sesión de Windows PowerShell ISE.

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

Parámetros

-ListAvailable

Indica que este cmdlet obtiene fragmentos de código de los módulos instalados en el equipo, incluso si los módulos no se importan en la sesión actual. Si se omite este parámetro y el módulo especificado por el parámetro Module no se importa en la sesión actual, se produce un error al intentar obtener los fragmentos de código del módulo.

Este parámetro solo es válido cuando se usa el parámetro Module en el comando .

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

-Module

Importa fragmentos de código del módulo especificado a la sesión actual. No se admite el uso de caracteres comodín.

Este parámetro importa fragmentos de código de Snippet.ps1xml archivos en el subdirectorio Fragmentos de código de la ruta de acceso del módulo, como $HOME\Documents\WindowsPowerShell\Modules\<ModuleName>\Snippets.

Este parámetro está diseñado para que lo usen los autores de módulos en un script de inicio, como un script especificado en la clave ScriptsToProcess de un manifiesto de módulo. Los fragmentos de código de un módulo no se importan automáticamente con el módulo, pero puede usar un Import-IseSnippet comando para importarlos.

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

-Path

Especifica la ruta de acceso al directorio de fragmentos de código en el que este cmdlet importa fragmentos de código.

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

-Recurse

Indica que este cmdlet importa fragmentos de código de todos los subdirectorios del valor del parámetro Path .

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

Entradas

None

No se pueden canalizar objetos a este cmdlet.

Salidas

None

Este cmdlet no devuelve ningún resultado.

Notas

  • No puede usar el Get-IseSnippet cmdlet para obtener fragmentos de código importados. Get-IseSnippet obtiene solo fragmentos de código en el $HOME\Documents\WindowsPowerShell\Snippets directorio .

  • Import-IseSnippet usa el método estático Load de objetos Microsoft.PowerShell.Host.ISE.ISESnippetCollection . También puede usar el método Load de fragmentos de código en el modelo de objetos de Windows PowerShell ISE: $psISE.CurrentPowerShellTab.Snippets.Load()

  • El New-IseSnippet cmdlet almacena nuevos fragmentos de código creados por el usuario en archivos .ps1xml sin firmar. Por lo tanto, Windows PowerShell no puede cargarlos en una sesión en la que la directiva de ejecución es AllSigned o Restricted. En una sesión restringida o AllSigned , puede crear, obtener e importar fragmentos de código sin firmar creados por el usuario, pero no puede usarlos en la sesión.

    Para usar fragmentos de código creados por el usuario sin firmar que devuelve el Import-IseSnippet cmdlet, cambie la directiva de ejecución y, a continuación, reinicie Windows PowerShell ISE.

    Para obtener más información sobre las directivas de ejecución de Windows PowerShell, consulte about_Execution_Policies.