Import-IseSnippet
Importa fragmentos de código ISE en la sesión actual
Sintaxis
Import-IseSnippet
[-Path] <String>
[-Recurse]
[<CommonParameters>]
Import-IseSnippet
[-Recurse]
-Module <String>
[-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 .
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Path
Especifica la ruta de acceso al directorio de fragmentos de código en el que este cmdlet importa fragmentos de código.
Tipo: | String |
Posición: | 1 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | True |
-Recurse
Indica que este cmdlet importa fragmentos de código de todos los subdirectorios del valor del parámetro Path.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
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.