Cómo crear un módulo de PowerShell con múltiples funciones
En esta publicación de blog, le mostraré cómo crear un módulo con múltiples funciones usando un ejemplo. Verás que esto no es ciencia espacial. Entremos.
Para utilizar varias funciones en un módulo, debemos declararlas como funciones para exportar. Esto también significa que necesitamos un archivo de manifiesto del módulo con esas declaraciones.
Objetivo
El objetivo de este tutorial es proporcionar dos funciones en un módulo llamado Patrick. Las dos funciones se llaman Get-SmallFiles y Get-BigFiles.
Crear una carpeta de módulo "Patrick"
En primer lugar, necesitamos crear una carpeta de módulo. Podemos elegir entre tres rutas de carpetas. Elegiré la primera opción, luego se crea la carpeta en C:\Archivos de programa\Windows PowerShell, lo que significa que este módulo estará disponible para todos los usuarios.
Aquí está el código de mi carpeta "Patrick".
New-Item -Path ($env:PSModulePath -split ';')[0] -ItemType Directory -Name Patrick
¡Ahora tenemos una carpeta en la carpeta del módulo!
Creando el archivo de manifiesto del módulo “patrick.psd1”
Como se mencionó anteriormente, necesitamos un archivo psd1 que sirva como nuestro archivo de manifiesto. Proporcionamos toda la información necesaria, especialmente las dos funciones: Get-SmallFiles y Get-BigFiles.
$paramHash = @{
Path = 'C:\Program Files\WindowsPowerShell\Modules\Patrick\patrick.psd1'
RootModule = "patrick.psm1"
Author = "Patrick Gruenauer"
CompanyName = "sid-500.com"
ModuleVersion = "1.0"
Guid = '56f62aec-33ca-4d8a-8685-c6a87ac9a002'
PowerShellVersion = "5.1"
Description = "Testmodul"
FormatsToProcess = ""
FunctionsToExport = @('Get-BigFiles', 'Get-SmallFiles')
AliasesToExport = ""
VariablesToExport = ""
CmdletsToExport = ""
}
New-ModuleManifest @paramHash
Sigamos con la creación del archivo del módulo PowerShell.
Creación del archivo del módulo PowerShell (psm1) con dos funciones: Get-SmallFiles y Get-BigFiles
A continuación configuramos el archivo del módulo PowerShell con todas las funciones que contiene, en mi caso es Get-SmallFiles y Get-BigFiles.
New-Item -Path 'C:\Program Files\WindowsPowerShell\Modules\Patrick' -ItemType File -Name patrick.psm1
El archivo está vacío. Pongámosle algo de contenido.
Add-Content -Path 'C:\Program Files\WindowsPowerShell\Modules\Patrick\patrick.psm1' `
-Value 'function Get-BigFiles {Get-ChildItem -Path $home -File -Recurse | Where-Object Length -gt (1MB)};
function Get-SmallFiles {Get-ChildItem -Path $home -File -Recurse | Where-Object Length -lt (1MB)}'
Misión cumplida.
¿Cómo sabes que esto funcionó?
Abra PowerShell 5 o PowerShell 7.
Escriba Get-Smallfiles y luego Get-BigFiles.
Espero que esto haya sido útil. Nos vemos la próxima vez.

