A automação de construção com PowerShell pode parecer inicialmente avassaladora, mas, como qualquer grande empreendimento, tudo se resume a dar um passo de cada vez. Imagine o PowerShell como uma coleção de blocos de construção, sendo os módulos a fundação que traz sua funcionalidade à vida.
Neste artigo, você descobrirá o que são os módulos do PowerShell, como encontrá-los e como usá-los para potencializar suas tarefas de automação. Desde gerenciar máquinas virtuais até conectar-se a serviços em nuvem ou automatizar o Active Directory, os módulos tornam tudo isso possível.
Continue lendo para desbloquear todo o potencial do PowerShell e enfrentar suas tarefas com precisão!
Descobrindo Módulos do PowerShell Disponíveis
Os módulos do PowerShell são blocos de construção essenciais que ampliam sua funcionalidade. No entanto, nem todos os módulos são carregados automaticamente em sua sessão—eles frequentemente permanecem em seu sistema, aguardando para serem descobertos.
Para explorar os módulos instalados em seu sistema, use o comando Get-Module
:
Get-Module
Você pode notar uma lista curta de módulos. A razão é que Get-Module
mostra apenas os módulos já importados em sua sessão.
Para ver todos os módulos disponíveis em seu sistema, incluindo aqueles que ainda não foram carregados, adicione o parâmetro -ListAvailable
:
Get-Module -ListAvailable
Este comando lista todos os módulos disponíveis em seu sistema, estejam eles carregados na memória ou não. O PowerShell importa automaticamente os módulos à medida que você usa comandos deles, portanto, normalmente você não precisa carregá-los manualmente.
Os módulos podem ser de vários tipos—script, binário ou manifesto.
Para agrupar módulos por tipo para uma inspeção mais fácil, experimente isso:
gmo -ListAvailable | group ModuleType
Aqui, você usa aliases por conveniência.
Por exemplo, gmo
é uma abreviação para Get-Module
, e group
é um alias para Group-Object
. Os aliases economizam tempo ao executar comandos no console.
Descobrindo Versões de Módulos e Detalhes de Comandos
Cada módulo possui uma versão que representa seu conjunto de recursos ou mudanças ao longo do tempo. O versionamento permite que você gerencie atualizações ou reverta para uma versão anterior, se necessário.
Os módulos também contêm comandos que são acessíveis através da propriedade ExportedCommands
.
Para ver os comandos no módulo Microsoft.PowerShell.Management
, execute:
gmo Microsoft.PowerShell.Management | Select-ExpandProperty ExportedCommands
Este comando exibe uma lista de comandos disponíveis no módulo.
Localizando Diretórios de Módulos
Os módulos não funcionam magicamente no PowerShell—eles residem em diretórios específicos no seu sistema, e o PowerShell precisa saber onde encontrá-los.
Para mostrar os locais dos módulos do PowerShell disponíveis:
gmo -list
Locais comuns incluem:
- C:\Program Files\PowerShell\7\Modules
- C:\Program Files\WindowsPowerShell\Modules
- C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
Mesmo ao executar o PowerShell Core, módulos dos diretórios do Windows PowerShell ainda podem aparecer porque o PowerShell Core pode usá-los.
Os módulos têm categorias dedicadas pela sua propriedade PSEdition
, que indica compatibilidade:
Core
– Construído para PowerShell Core.Área de Trabalho
– Projetado para Windows PowerShell.Ambos
– Compatível com ambas as edições.
Gerenciando a Variável PSModulePath
O PowerShell não busca automaticamente em todo o seu sistema por módulos—ele depende de caminhos específicos definidos pela variável de ambiente PSModulePath
. Se um módulo não estiver em um desses caminhos, o PowerShell não o encontrará, mesmo que o sistema/você o tenha instalado em outro lugar.
Para visualizar a variável de ambiente PSModulePath
:
$env:PSModulePath
A variável contém uma lista de diretórios separados por ponto e vírgula.
Para facilitar a leitura, divida-a em um array:
$env:PSModulePath -split ';'
O PowerShell busca módulos em:
- Diretórios de nível de usuário (por exemplo, a pasta Documentos do seu perfil de usuário).
- Diretórios compartilhados em Program Files.
- Diretórios de nível de sistema, como C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules.
Você também pode adicionar diretórios personalizados ao caminho de busca:
$env:PSModulePath + ';C:\MyNewModulePath' $env:PSModulePath
Essa alteração se aplica à sessão atual, direcionando o PowerShell a procurar módulos no caminho especificado.
Conclusão
Neste artigo, você explorou como descobrir módulos disponíveis, visualizar suas versões, inspecionar seus comandos e localizar seus diretórios de armazenamento. Você também aprendeu a aproveitar a variável de ambiente PSModulePath
para personalizar onde o PowerShell procura por módulos.
Essas habilidades fundamentais permitem que você desbloqueie todo o potencial do PowerShell para suas tarefas de automação. Continue colocando esse conhecimento em prática. Comece explorando os módulos já disponíveis em seu sistema e identificando aqueles que atendem às suas necessidades atuais.
Com um entendimento mais profundo dos módulos, você estará pronto para enfrentar desafios complexos de automação com confiança e eficiência!
Source:
https://adamtheautomator.com/powershell-modules-guide/