TEMA
about_modules
DESCRIPCIÓN BREVE
Explica cómo se instalan, importan y utilizan los módulos de
Windows PowerShell.
DESCRIPCIÓN DETALLADA
Un módulo es un paquete que contiene comandos de Windows
PowerShell, como cmdlets, proveedores, funciones, variables y alias.
Las personas que escriben comandos pueden usar módulos para
organizar dichos comandos y compartirlos con otras personas.
Las personas que reciben los módulos pueden agregar los comandos
incluidos en los módulos a sus sesiones de Windows PowerShell y
utilizarlos de la misma manera que los comandos integrados.
En este tema se explica cómo utilizar los módulos de Windows
PowerShell. Para obtener información sobre cómo escribir módulos
de Windows PowerShell, vea el artículo en MSDN sobre cómo
escribir módulos de Windows PowerShell.
CÓMO USAR UN MÓDULO
Para usar un módulo, realice las tareas siguientes:
1. Instale el módulo. (Esta tarea suele realizarse automáticamente.)
2. Importe el módulo en su sesión de Windows PowerShell.
3. Busque los comandos que agregó el módulo.
4. Use los comandos que agregó el módulo.
En este tema se explica cómo realizar estas tareas. También se
incluye otra información útil sobre la administración de los módulos.
CÓMO INSTALAR UN MÓDULO
Si recibe un módulo en forma de carpeta con archivos, necesitará
instalarlo en su equipo para poder importarlo en Windows PowerShell.
La mayoría de los módulos se instalan automáticamente. Windows
PowerShell incluye varios módulos preinstalados. En Windows
Server 2008 R2, el Asistente para agregar características del
Administrador del servidor instala automáticamente los módulos de
características seleccionados. Hay otros muchos módulos que se
incluyen en un instalador o programa de instalación que instala
el módulo.
Para instalar una carpeta de módulo:
1. Cree un directorio Modules para el usuario actual si no
existe ninguno.
Para crear un directorio Modules, escriba:
new-item -type directory -path $home\Documentos\WindowsPowerShell\Modules
2. Copie toda la carpeta del módulo en el directorio Modules.
Puede utilizar cualquier método para copiar la carpeta,
como el Explorador de Windows y Cmd.exe, así como Windows
PowerShell.
En Windows PowerShell, use el cmdlet Copy-Item.
Por ejemplo, para copiar la carpeta MyModule desde
C:\ps-test\MyModule en el directorio Modules, escriba:
copy-item -path c:\ps-test\MyModule -dest $home\Documentos\WindowsPowerShell\Modules
Los módulos se pueden instalar en cualquier ubicación, pero si se
instalan en una ubicación de módulo predeterminada, serán más
fáciles de administrar. Para obtener más información sobre las ubicaciones
de módulo predeterminadas, vea la sección "Ubicaciones de módulo y
PSModulePath" que figura a continuación. que figura a continuación.
CÓMO BUSCAR LOS MÓDULOS INSTALADOS
Después de instalar un módulo, podrá importarlo en su sesión de
Windows PowerShell.
Para buscar los módulos instalados en una ubicación de módulo
predeterminada, en el símbolo del sistema de Windows PowerShell,
escriba:
get-module -listAvailable
Para buscar los módulos ya importados en su sesión, en el
símbolo del sistema de Windows PowerShell, escriba:
get-module
Para obtener más información acerca del cmdlet Get-Module, vea Get-Module.
CÓMO IMPORTAR UN MÓDULO
Para poder usar los comandos de un módulo, se ha de importar el
módulo en una sesión de Windows PowerShell.
Para importar módulos desde una ubicación de módulo
predeterminada en la sesión actual, utilice el formato de comando
siguiente.
import-module <nombre del módulo>
Por ejemplo, el comando siguiente importa el módulo BitsTransfer
en la sesión actual.
import-module BitsTransfer
Para importar un módulo que no está en una ubicación de módulo
predeterminada, utilice en el comando la ruta de acceso completa
a la carpeta del módulo.
Por ejemplo, para agregar el módulo TestCmdlets en el directorio
C:\ps-test a su sesión, escriba:
import-module c:\ps-test\TestCmdlets
Para obtener más información sobre cómo agregar módulos a su
sesión, vea "Import-Module".
CÓMO IMPORTAR TODOS LOS MÓDULOS EN UNA SESIÓN DE WINDOWS POWERSHELL
En Windows 7 y Windows Server 2008 R2, la tarea "Importar todos los
módulos" abre una sesión de Windows PowerShell que incluye todos los
módulos y complementos disponibles de Windows PowerShell.
Para iniciar una sesión de Windows PowerShell con todos los
módulos y complementos disponibles de Windows PowerShell, siga el
procedimiento que se describe a continuación.
-- En la barra de tareas, haga clic con el botón secundario en el
icono de Windows PowerShell y, a continuación, haga clic en
"Importar todos los módulos".
Nota: en Windows Server 2008 R2, el icono de Windows PowerShell
está anclado a la barra de tareas de forma predeterminada. Sin
embargo, debe iniciar Windows PowerShell una vez para que
aparezca la tarea "Importar todos los módulos".
En las demás versiones de Windows, para importar todos los
módulos disponibles en su sesión, en el símbolo del sistema de
Windows PowerShell, escriba:
get-module -listAvailable | import-module
CÓMO BUSCAR LOS COMANDOS DE UN MÓDULO
Después de importar un módulo en su sesión de Windows PowerShell,
podrá utilizar los comandos incluidos en el módulo.
Para buscar los comandos agregados por un módulo, en el símbolo
del sistema de Windows PowerShell, escriba:
get-command -module <nombre del módulo>
Por ejemplo, para buscar los comandos que el módulo BitsTransfer
agrega, escriba:
get-command -module BitsTransfer
Para obtener más información acerca del cmdlet Get-Command, vea Get-Command.
CÓMO BUSCAR AYUDA PARA LOS COMANDOS DE UN MÓDULO
Si el módulo contiene temas de Ayuda para los comandos que
exporta, el cmdlet Get-Help mostrará esos temas de Ayuda. Utilice
el mismo formato de comando que utilizaría para cualquier tema de
Ayuda de Windows PowerShell.
Para buscar el tema de Ayuda correspondiente a los comandos de un
módulo, en el símbolo del sistema de Windows PowerShell, escriba:
get-help <nombre del comando>
Para obtener ayuda más detallada, escriba:
get-help <nombre del comando> -detailed
Por ejemplo, para buscar la Ayuda detallada del cmdlet
Start-BitsTransfer, escriba:
get-help Start-BitsTransfer -detailed
Para obtener más información acerca del módulo Get-Help, vea Get-Help.
CÓMO QUITAR UN MÓDULO
Al quitar un módulo, se eliminan de la sesión los comandos que
agregó el módulo.
Para quitar un módulo de su sesión, utilice el formato de comando
siguiente.
remove-module <nombre del módulo>
Por ejemplo, el comando siguiente quita el módulo BitsTransfer de
la sesión actual.
remove-module BitsTransfer
Al quitar un módulo, se invierte la operación de importar un
módulo. Al quitar un módulo, no se desinstala el módulo. Para
obtener más información acerca del cmdlet Remove-Module, vea
Remove-Module.
CÓMO IMPORTAR UN MÓDULO EN TODAS LAS SESIONES
El comando Import-Module importa módulos en la sesión actual de
Windows PowerShell. Este comando afecta únicamente a la sesión actual.
Para importar un módulo en todas las sesiones de Windows
PowerShell que inicie, agregue el comando Import-Module a su
perfil de Windows PowerShell.
Para obtener más información sobre los perfiles, vea
about_Profiles.
UBICACIONES DE MÓDULO Y PSMODULEPATH
Hay dos ubicaciones predeterminadas para los módulos de Windows
PowerShell, una para el sistema y otra para el usuario actual.
Sistema: $pshome\Modules
(%windir%\System32\WindowsPowerShell\v1.0\Modules)
Usuario actual: $home\Documentos\WindowsPowerShell\Modules
(%UserProfile%\Documentos\WindowsPowerShell\Modules)
- o bien,
$home\Mis documentos\WindowsPowerShell\Modules
(%UserProfile%\Mis documentos\WindowsPowerShell\Modules)
Nota: en Windows Vista, Windows Server 2008 y las versiones
posteriores de Windows, para agregar o cambiar archivos en el
directorio %Windir%\System32, inicie Windows PowerShell con
la opción "Ejecutar como administrador".
Puede cambiar las ubicaciones de módulo predeterminadas en el
sistema cambiando el valor de la variable de entorno PSModulePath
($env:psmodulepath). La variable de entorno PSModulePath se basa
en la variable de entorno Path y tiene el mismo formato.
Para ver las ubicaciones de módulo predeterminadas, escriba:
$env:psmodulepath
Para agregar una ubicación de módulo predeterminada, use el
siguiente formato de comando.
$env:psmodulepath = $env:psmodulepath + ";<ruta de acceso>"
El signo de punto y coma (;) en el comando separa la nueva ruta
de acceso de la ruta de acceso anterior en la lista.
Por ejemplo, para agregar el directorio "C:\ps-test\Modules", escriba:
$env:psmodulepath + ";c:\ps-test\Modules"
Cuando se agrega una ruta de acceso a PSModulePath, los comandos
Get-Module e Import-Module incluyen los módulos en esa ruta de acceso.
El valor que se establece afecta únicamente a la sesión actual.
Para que el cambio sea persistente, agregue el comando a su
perfil de Windows PowerShell o utilice el elemento del Sistema en el Panel
de control para cambiar el valor de la variable de entorno
PSModulePath en el Registro.
Para obtener más información acerca de la variable PSModulePath, vea
about_Environment_Variables.
MÓDULOS Y CONFLICTOS DE NOMBRES
Los conflictos de nombres se producen cuando varios comandos de
la sesión tienen el mismo nombre. La importación de un módulo
causa un conflicto de nombres cuando los comandos del módulo
tienen los mismos nombres que los comandos o elementos de la sesión.
Los conflictos de nombres pueden dar lugar a que se oculten o se
reemplacen los comandos.
-- Comandos ocultos. Un comando se oculta cuando este no es
el comando que se ejecuta al escribir el nombre de
comando, pero puede ejecutarlo mediante otro método, como
agregando al nombre de comando el nombre del módulo o
complemento en el que se originó.
-- Comandos reemplazados. Un comando se reemplaza cuando no
se puede ejecutar porque un comando con el mismo nombre lo
ha sobrescrito. Incluso si se quita el módulo que causó el
conflicto, no se puede ejecutar un comando reemplazado a
menos que se reinicie la sesión.
Import-Module podría agregar comandos que ocultan y reemplazan
los comandos en la sesión actual. Asimismo, los comandos de la
sesión actual pueden ocultar los comandos que agregó el módulo.
Para evitar los conflictos de nombres, utilice el parámetro
Prefix de Import-Command a fin de crear nombres únicos para los
comandos importados.
Asimismo, puede usar los parámetros Alias, Cmdlet, Function y
Variable de Import-Module para seleccionar únicamente los
comandos que desea importar, y puede excluir los comandos que causan
conflictos de nombres en la sesión actual.
Incluso si un comando está oculto, puede ejecutarlo agregando al
nombre de comando el nombre del módulo o complemento en el que se
originó.
Las reglas de precedencia de comandos de Windows PowerShell
determinan qué comando se ejecuta cuando la sesión incluye
comandos con el mismo nombre.
Por ejemplo, cuando una sesión incluye una función y un cmdlet
con el mismo nombre, Windows PowerShell ejecuta la función de
forma predeterminada. Cuando la sesión incluye comandos del mismo
tipo con el mismo nombre, como dos cmdlets con el mismo nombre,
se ejecuta de manera predeterminada el comando que se ha agregado
más recientemente.
Para obtener más información así como una explicación de las
reglas de precedencia e instrucciones para la ejecución de
comandos ocultos, vea about_Command_Precedence.
MÓDULOS Y COMPLEMENTOS
Puede agregar a su sesión comandos de módulos y complementos. Los
módulos pueden agregar todo tipo de comandos, como cmdlets,
proveedores y funciones, además de elementos, como variables,
alias y unidades de Windows PowerShell. Los complementos pueden
agregar únicamente cmdlets y proveedores.
De hecho, si bien se pueden agregar funciones, alias, variables y
unidades de disco a la sesión actual escribiéndolos o ejecutando
un script que los agrega, todos los cmdlets y proveedores de la
sesión actual provienen de un módulo o complemento.
Antes de quitar un módulo o un complemento de su sesión, utilice
los comandos siguientes para determinar los comandos que se van a
quitar.
Para buscar el origen de un cmdlet en su sesión, utilice el
formato de comando siguiente:
get-command <nombre del cmdlet> | format-list -property verb,
noun, pssnapin, module
Por ejemplo, para buscar el origen del cmdlet Get-Date, escriba:
get-command get-date | format-list -property verb, noun, pssnapin, module
Para obtener más información sobre los complementos de Windows
PowerShell, vea about_PSSnapins.
VEA TAMBIÉN
about_Command_Precedence
about_PSSnapins
Get-Command
Get-Help
Get-Module
Import-Module
Remove-Module