Import-IseSnippet
Importa fragmentos de código ISE en la sesión actual
Sintaxis
FromFolder (valor predeterminado)
Import-IseSnippet
[-Path] <String>
[-Recurse]
[<CommonParameters>]
FromModule
Import-IseSnippet
-Module <String>
[-Recurse]
[-ListAvailable]
[<CommonParameters>]
Description
El cmdlet import-IseSnippet
Para ver y usar los fragmentos de código importados, en el menú Windows PowerShell ISEEdit, 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 una 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<>SnippetTitle . Archivo 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
Import-IseSnippet -Path \\Server01\Public\Snippets -Recurse
Este comando importa los fragmentos de código del directorio \\Server01\Public\Snippets en la sesión actual. Usa el parámetro Recurse para obtener fragmentos de código de todos los subdirectorios del directorio Snippets.
Ejemplo 2: Importación de fragmentos de código desde un módulo
Import-IseSnippet -Module SnippetModule -ListAvailable
Este comando importa 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.
Ejemplo 3: Buscar fragmentos de código en módulos
($env:PSModulePath).split(";") | ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} | ForEach-Object {$_.fullname}
Este comando obtiene fragmentos de código de todos los módulos instalados en la variable de entorno PSModulePath.
Ejemplo 4: Importación de todos los fragmentos de código de módulo
($env:PSModulePath).split(";") | ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} | ForEach-Object {$psise.CurrentPowerShellTab.Snippets.Load($_)}
Este comando importa 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.
Ejemplo 5: Copiar todos los fragmentos de código de módulo
($env:PSModulePath).split(";") | ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} | Copy-Item -Destination $home\Documents\WindowsPowerShell\Snippets
Este comando copia los archivos de fragmento de código de todos los módulos instalados en el directorio Fragmentos de código 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.
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 producirá 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 de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
FromModule
| Posición: | Named |
| Obligatorio: | 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 admite el uso de caracteres comodín.
Este parámetro importa fragmentos de código de archivos Snippet.ps1xml en el subdirectorio Snippets 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 de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
FromModule
| Posición: | Named |
| Obligatorio: | 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 de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
FromFolder
| Posición: | 1 |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Recurse
Indique que este cmdlet importa fragmentos de código de todos los subdirectorios del valor del parámetro Path.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | 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
Este cmdlet no toma la entrada de la canalización.
Salidas
None
Este cmdlet no genera resultados.
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 Loadde 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 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 el cmdlet import-IseSnippet devuelve, 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.