“Criando seu próprio comando (e se sentindo um hacker)”

👋 Fala, pessoal!

Hoje vamos sair do básico e entrar no mundo dos comandos personalizados e módulos em PowerShell. Isso é essencial pra quem quer organizar scripts, reaproveitar código e até compartilhar com a galera da TI.

🔧 Parte 1: Criando uma função personalizada

Funções são como mini-programas dentro do seu script. Você define uma vez e chama quando quiser.

function Get-OlaMundo {
    param(
        [string]$Nome = "Mundo"
    )
    return "Olá, $Nome! Bem-vindo ao PowerShell!"
}

🧪 Testando:

Get-OlaMundo -Nome "Oldair"

Resultado: Olá, Oldair! Bem-vindo ao PowerShell!

📦 Parte 2: Estrutura de um módulo PowerShell

Um módulo é um conjunto de funções organizadas em arquivos .psm1 e .psd1. Ideal pra manter tudo limpo e reutilizável.

📁 Estrutura típica:

MeuModulo/
├── MeuModulo.psm1
└── MeuModulo.psd1 (opcional)

📄 Exemplo de MeuModulo.psm1:

function Get-OlaMundo {
    param([string]$Nome = "Mundo")
    return "Olá, $Nome! Bem-vindo ao PowerShell!"
}

📄 Exemplo de MeuModulo.psd1 (gerado com New-ModuleManifest):

New-ModuleManifest -Path "MeuModulo.psd1" -RootModule "MeuModulo.psm1" -Author "Oldair Jacinto" -Description "Módulo de exemplo"

📥 Importando o módulo:

Import-Module "C:\Caminho\Para\MeuModulo"

📤 Exportando funções:

No .psm1, você pode usar:

Export-ModuleMember -Function Get-OlaMundo

🧠 Vantagens de usar módulos

  • Organização: separa funções por tema
  • Reutilização: usa em vários scripts
  • Compartilhamento: publica na PowerShell Gallery ou distribui internamente

💬 Citação da vez:

“Quando você cria seu próprio comando, o mundo é seu terminal.” – Hacker motivacional