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.
Vea también