Get-Module
Obtiene los módulos que se han importado, o que se pueden importar, en la sesión actual.
Sintaxis
Get-Module [-All] [-ListAvailable] [-Name <string[]>] [<CommonParameters>]
Get-Module [[-Name] <string[]>] [<CommonParameters>]
Descripción
El cmdlet Get-Module obtiene los módulos que se han importado, o se pueden importar, en la sesión.
Get-Module se limita a obtener los módulos; no los importa. Para importar los módulos a la sesión, se utiliza Import-Module.
Parámetros
-Todo
Obtiene los objetos de módulo para todos los archivos del módulo.
Sin el parámetro All, Get-Module obtiene solamente el objeto de módulo del archivo de módulo predeterminado. El cmdlet selecciona los tipos de archivo en el orden siguiente: archivos de manifiesto (.psd1), archivos de módulo de script (.psm1), archivos de módulo binario (.dll) y archivos de script (.ps1).
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-ListAvailable
Obtiene todos los módulos que se pueden importar en la sesión. Get-Module obtiene los módulos en las rutas de acceso especificadas por la variable de entorno $env:PSModulePath.
Sin este parámetro, Get-Module obtiene solamente los módulos que se han importado en la sesión.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-Name <string[]>
Obtiene solamente módulos con los nombres o patrones de nombre especificados. Se permite el uso de caracteres comodín. También se pueden canalizar los nombres a Get-Module.
¿Requerido? |
false |
¿Posición? |
1 |
Valor predeterminado |
All imported or available modules. |
¿Aceptar canalización? |
true (ByValue) |
¿Aceptar caracteres comodín? |
true |
<CommonParameters>
Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.
Entradas y salidas
El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.
Entradas |
System.String Los nombres de módulo se pueden canalizar a Get-Module. |
Salidas |
System.Management.Automation.PSModuleInfo Get-Module devuelve objetos que representan los módulos. |
Notas
También se puede hacer referencia a Get-Module por su alias, "gmo". Para obtener más información, vea about_Aliases.
El parámetro All devuelve los objetos de módulo correspondientes a todos los archivos cuya extensión es .dll, aunque no implementen cmdlets ni proveedores.
Ejemplo 1
C:\PS>get-module
Descripción
-----------
Este comando obtiene los módulos que se han importado en la sesión actual.
Ejemplo 2
C:\PS>get-module -listAvailable
Descripción
-----------
Este comando obtiene los módulos que se pueden importar en la sesión actual.
Get-Module busca módulos disponibles en la ruta de acceso especificada por la variable de entorno $env:PSModulePath. Para obtener más información sobre PSModulePath, vea about_Modules y about_Environment_Variables.
Ejemplo 3
C:\PS>get-module -listAvailable -all
Descripción
-----------
Este comando obtiene todos los archivos exportados para todos los módulos disponibles.
Ejemplo 4
C:\PS>get-module | get-member -type property
TypeName: System.Management.Automation.PSModuleInfo
Name MemberType Definition
---- ---------- ----------
AccessMode Property System.Management.Automation.ModuleAcc
Description Property System.String Description {get;set;}
ExportedAliases Property System.Collections.Generic.Dictionary`
ExportedCmdlets Property System.Collections.Generic.Dictionary`
ExportedFunctions Property System.Collections.Generic.Dictionary`
ExportedVariables Property System.Collections.Generic.Dictionary`
Guid Property System.Guid Guid {get;}
ModuleBase Property System.String ModuleBase {get;}
ModuleType Property System.Management.Automation.ModuleTyp
Name Property System.String Name {get;}
NestedModules Property System.Collections.ObjectModel.ReadOnl
OnRemove Property System.Management.Automation.ScriptBlo
Path Property System.String Path {get;}
PrivateData Property System.Object PrivateData {get;set;}
SessionState Property System.Management.Automation.SessionSt
Version Property System.Version Version {get;}
Descripción
-----------
Este comando obtiene las propiedades del objeto PSModuleInfo que Get-Module devuelve. Hay un objeto para cada archivo de módulo.
Se pueden utilizar las propiedades para aplicar formato y filtrar los objetos de módulo. Para obtener más información sobre las propiedades, vea el artículo sobre propiedades de PSModule en MSDN (Microsoft Developer Network) Library, en https://go.microsoft.com/fwlink/?LinkId=143624.
Ejemplo 5
C:\PS>get-module -listAvailable -all | format-table -property name, moduletype, path -groupby name -auto
Name: MyTestCmdlets
Name ModuleType Path
---- ---------- ----
MyTestCmdlets Script C:\Windows\system32\WindowsPowerShell\v1.0\Modules\TestCmdlets\TestCmdlets.dll
Name: PSDiagnostics
Name ModuleType Path
---- ---------- ----
PSDiagnostics Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\PSDiagnostics\PSDiagnostics.psd1
PSDiagnostics Script C:\Windows\system32\WindowsPowerShell\v1.0\Modules\PSDiagnostics\PSDiagnostics.psm1
Name: FileTransfer
Name ModuleType Path
---- ---------- ----
FileTransfer Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer\FileTransfer.psd1
Descripción
-----------
Este comando obtiene todos los archivos de módulo (importados y disponibles) y los agrupa por nombre de módulo. Esto permite ver los archivos de módulo que cada script está exportando.
Ejemplo 6
C:\PS>$m = get-module -list -name FileTransfer | where {$_.moduletype -eq "Manifest"}
C:\PS> get-content $m.path
@{
GUID="{8FA5064B-8479-4c5c-86EA-0D311FE48875}"
Author="Microsoft Corporation"
CompanyName="Microsoft Corporation"
Copyright="© Microsoft Corporation. All rights reserved."
ModuleVersion="1.0.0.0"
Description="Windows Powershell File Transfer Module"
PowerShellVersion="2.0"
CLRVersion="2.0"
NestedModules="Microsoft.BackgroundIntelligentTransfer.Management"
FormatsToProcess="FileTransfer.Format.ps1xml"
RequiredAssemblies=Join-Path $psScriptRoot "Microsoft.BackgroundIntelligentTransfer.Management.Interop.dll"
}
Descripción
-----------
Estos comandos muestran el contenido del manifiesto de módulo para el módulo Windows PowerShell File Transfer.
El primer comando obtiene el objeto PSModuleInfo que representa el manifiesto de módulo para el módulo File Transfer. Guarda el objeto en la variable $m.
El segundo comando utiliza la notación de puntos para obtener la ruta de acceso al archivo de manifiesto, que se almacena en la propiedad Path del objeto. A continuación, utiliza el cmdlet Get-Content para obtener el contenido del archivo de manifiesto en la ruta de acceso especificada.
No es obligatorio que los módulos tengan archivos de manifiesto. En caso de que sí lo tengan, solamente se necesita que el manifiesto incluya un número de versión. Sin embargo, los archivos de manifiesto suelen proporcionar información de gran utilidad sobre un módulo, sus requisitos y su contenido.
Ejemplo 7
C:\PS>get-module -listAvailable -name FileTransfer | format-list -property *
Name : FileTransfer
Path : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer\FileTransfer.psd1
Description : Powershell File Transfer Module
Guid : 8fa5064b-8479-4c5c-86ea-0d311fe48875
ModuleBase : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer
PrivateData :
Version : 1.0.0.0
ModuleType : Manifest
AccessMode : ReadWrite
ExportedFunctions : {}
ExportedCmdlets : {}
NestedModules : {}
ExportedVariables : {}
ExportedAliases : {}
SessionState : System.Management.Automation.SessionState
OnRemove :
Descripción
-----------
Este comando muestra todas las propiedades del módulo FileTransfer en una lista.
Dado que el módulo no se ha importado todavía en la sesión, las propiedades Exported* y la propiedad NestedModules no se rellenan todavía. Estas propiedades se rellenan solo después de que los elementos se hayan exportado y se hayan creado instancias de los módulos anidados.
Ejemplo 8
C:\PS>dir (get-module -listavailable FileTransfer).modulebase
Directory: C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 12/16/2008 12:36 PM en-US
-a--- 11/19/2008 11:30 PM 16184 FileTransfer.Format.ps1xml
-a--- 11/20/2008 11:30 PM 1044 FileTransfer.psd1
-a--- 12/16/2008 12:20 AM 108544 Microsoft.BackgroundIntelligentTransfer.Management.Interop.dll
Descripción
-----------
Este comando enumera los archivos en el directorio del módulo. Esta es otra manera de determinar lo que existe en un módulo antes de importarlo. Es posible que algunos módulos tengan archivos de Ayuda o archivos Léame que describen el módulo.