Import-IseSnippet
Importa fragmentos de código ISE a la sesión actual.
Sintaxis
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\Snippets
local 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 .
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 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.
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 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.