Definir módulos no PowerShell

Concluído

Os módulos são grupos de recursos relacionados do PowerShell que são agrupados em uma única unidade. Para os fins dessa classe, você pode pensar neles como contêineres que hospedam vários cmdlets. Os módulos ajudam a organizar os cmdlets em unidades distribuíveis. A Microsoft e outras empresas de software fornecem módulos como parte das ferramentas de gerenciamento para seus aplicativos e serviços.

Você pode verificar a lista de módulos disponíveis executando o seguinte comando:

Get-Module -ListAvailable

Para usar os cmdlets de um módulo, o módulo deve ser carregado na sessão atual do PowerShell. Isso normalmente ocorre automaticamente, mas, dependendo da sua configuração, pode exigir que você carregue módulos explicitamente executando o cmdlet Import-Module . Alguns produtos de servidor, como o Microsoft Exchange Server, fornecem um atalho para o que parece ser um shell de gerenciamento dedicado. No entanto, esta é realmente uma sessão normal do console do PowerShell com módulos específicos do aplicativo já carregados.

Carregamento automático

No Windows PowerShell versão 3.0 e mais recente, os módulos são carregados automaticamente se você executar um cmdlet que faça parte desse módulo. Isso funciona se o módulo que contém o cmdlet estiver em uma pasta sob os caminhos de carregamento do módulo. Por padrão, essas pastas incluem %systemdir%\WindowsPowerShell\v1.0\Modules e %userprofiles%\Documents\WindowsPowerShell\Modules. A lista de pastas é armazenada na variável de ambiente $env:PSModulePath. Quando você importa explicitamente um módulo por nome, o PowerShell verifica os locais referenciados por essa variável de ambiente.

Para o PowerShell 7, o PSModulePath inclui os seguintes locais:

  • C:\Users\<user>\Documents\PowerShell\Modules
  • C:\Program Files\PowerShell\Modules
  • C:\Program Files\PowerShell\7\Modules
  • C:\Program Files\WindowsPowerShell\Modules
  • C:\WINDOWS\System32\WindowsPowerShell\v1.0\Modules

Observação

Ao usar o Windows PowerShell, o caminho %systemdir%\WindowsPowerShell\v1.0\Modules é comumente referido usando a combinação da variável de ambiente (que aponta para $PSHome) e o caminho Modules (ou seja, usando a $PSHome\Modules notação). Para o PowerShell 7.0, a $PSHome variável de ambiente refere-se a C:\Program Files\PowerShell\7.