Compartilhar via


Get-Module

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

Todos os módulos importados ou disponíveis.

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.





Consulte também

Conceitos

Import-Module
New-Module
Remove-Module
about_Modules