Obtém os módulos que foram importados ou que podem ser importados para a sessão atual.
Sintaxe
Get-Module [-All] [-ListAvailable] [-Name <string[]>] [<CommonParameters>] Get-Module [[-Name] <string[]>] [<CommonParameters>]
Descrição
O cmdlet Get-Module obtém os módulos que foram importados, ou que podem ser importados, para a sessão atual.
Get-Module só obtém módulos; não os importa. Para importar os módulos para sua sessão, use Import-Module.
Parâmetros
-All
Obtém objetos de módulos para todos os arquivos de módulo.
Sem o parâmetro All, Get-Module obtém somente o objeto de módulo do arquivo de módulo padrão. O cmdlet seleciona tipos de arquivos na seguinte ordem: arquivos de manifesto (.psd1), arquivos de módulo de script (.psm1), arquivos de módulo binário (.dll).
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-ListAvailable
Obtém todos os módulos que podem ser importados para a sessão. Get-Module obtém os módulos nos caminhos especificados pela variável de ambiente $env:PSModulePath.
Sem esse parâmetro, Get-Module obtém apenas os módulos que foram importados na sessão.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Name <string[]>
Obtém apenas módulos com os nomes ou padrões de nome especificados. Os caracteres curinga são permitidos. Também é possível canalizar nomes para Get-Module.
Necessário? |
false |
Posição? |
1 |
Valor padrão |
All imported or available modules. |
Aceitar entrada do pipeline? |
true (ByValue) |
Aceitar caracteres curinga? |
true |
<CommonParameters>
Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.
Entradas e saídas
O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.
Entradas |
System.String É possível canalizar nomes de módulo para Get-Module. |
Saídas |
System.Management.Automation.PSModuleInfo Get-Module retorna objetos que representam os módulos. |
Observações
Também é possível fazer referência a Get-Module usando seu alias, "gmo". Para obter mais informações, consulte about_Aliases.
O parâmetro All retorna objetos de módulo para todos os arquivos com uma extensão de nome de arquivo .dll, mesmo que eles não implementem cmdlets ou provedores.
Exemplo 1
C:\PS>get-module Descrição ----------- Esse comando obtém os módulos que foram importados na sessão atual.
Exemplo 2
C:\PS>get-module -listAvailable Descrição ----------- Esse comando obtém os módulos que podem ser importados na sessão atual. Get-Module procura módulos disponíveis no caminho especificado pela variável de ambiente $env:PSModulePath. Para obter mais informações sobre PSModulePath, consulte about_Modules e about_Environment_Variables.
Exemplo 3
C:\PS>get-module -listAvailable -all Descrição ----------- Esse comando obtém todos os arquivos exportados para todos os módulos disponíveis.
Exemplo 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;} Descrição ----------- Esse comando obtém as propriedades do objeto PSModuleInfo que Get-Module retorna. Há um objeto para cada arquivo de módulo. Você pode usar as propriedades para formatar e filtrar os objetos do módulo. Para obter mais informações sobre as propriedades, consulte "PSModule Properties” (em inglês) na Biblioteca MSDN, em https://go.microsoft.com/fwlink/?LinkId=143624.
Exemplo 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 Descrição ----------- Esse comando obtém todos os arquivos de módulo (importados e disponíveis) e os agrupa por nome do módulo. Isso permite que você consulte os arquivos de módulo que cada script está exportando.
Exemplo 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" } Descrição ----------- Esses comandos exibem o conteúdo do manifesto do módulo de Transferência de Arquivo do Windows PowerShell. O primeiro comando obtém o objeto PSModuleInfo que representa o manifesto do módulo de Transferência de Arquivo. Ele salva o objeto na variável $m. O segundo comando usa notação de ponto para obter o caminho do arquivo de manifesto, que é armazenado na propriedade Path do objeto. Em seguida, ele usa o cmdlet Get-Content para obter o conteúdo do arquivo de manifesto no caminho especificado. Módulos não são necessários para ter arquivos de manifesto. Quando eles têm um arquivo de manifesto, esse manifesto só é necessário para incluir um número de versão. Porém, arquivos de manifesto geralmente fornecem informações úteis sobre um módulo, seus requisitos e seu conteúdo.
Exemplo 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 : Descrição ----------- Esse comando exibe todas as propriedades do módulo FileTransfer em uma lista. Como o módulo ainda não foi importado para a sessão, as propriedades Exported* e a propriedade NestedModules ainda não estão populadas. Essas propriedades são populadas somente depois de os elementos serem exportados e depois de criadas instâncias para os módulos aninhados.
Exemplo 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 Descrição ----------- Esse comando lista os arquivos no diretório do módulo. Essa é outra maneira de determinar o que está em um módulo antes de importá-lo. Alguns módulos podem ter arquivos de ajuda ou arquivos Leiame que descrevem o módulo.
See Also