Compartir vía


Import-IseSnippet

Importa fragmentos de código ISE en la sesión actual

Sintaxis

FromFolder (Es el valor predeterminado).

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

FromModule

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

Description

El cmdlet Import-IseSnippet 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ú Editar 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 comando Import-IseSnippet al perfil de Windows PowerShell o copie los archivos de fragmento de código en el directorio de fragmentos de código local $HOME\Documents\WindowsPowerShell\Snippets.

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 cmdlet New-IseSnippet. New-IseSnippet crea un archivo <SnippetTitle>.Snippets.ps1xml en el directorio $HOME\Documents\WindowsPowerShell\Snippets. Puede mover o copiar los fragmentos de código al directorio Fragmentos de código de un módulo de Windows PowerShell o a cualquier otro directorio.

El cmdlet Get-IseSnippet, 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 directorio \\Server01\Public\Snippets a 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 de 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 de 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 cmdlet Import-IseSnippet 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 directorio Snippets del usuario actual. A diferencia de los fragmentos de código importados, que afectan solo a la sesión actual, los fragmentos de código 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 .

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

FromModule
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Module

Importa fragmentos de código del módulo especificado en la sesión actual. No se admiten 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 el ScriptsToProcess clave 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 comando Import-IseSnippet para importarlos.

Propiedades del parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

FromModule
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Path

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

Propiedades del parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:True
DontShow:False

Conjuntos de parámetros

FromFolder
Posición:1
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Recurse

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

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.

Entradas

None

No se pueden canalizar objetos a este cmdlet.

Salidas

None

Este cmdlet no devuelve ninguna salida.

Notas

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

  • Import-IseSnippet usa el método estático load de objetos Microsoft.PowerShell.Host.ISE.ISESnippetColle ction. 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 cmdlet New-IseSnippet 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 se AllSigned o Restringido. En una sesión de Restricted 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 cmdlet Import-IseSnippet, 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, vea about_Execution_Policies.