
Si aún depende de scripts personalizados de PowerShell para transferencias de archivos sencillas o la generación de informes de Excel, es hora de optimizar su flujo de trabajo. Los módulos prediseñados de PowerShell pueden gestionar la mayoría de las tareas rutinarias con mucha más eficiencia que cualquier script que pueda crear manualmente.
Para empezar a usar estos módulos, asegúrese de ejecutar al menos PowerShell 5.1. Si bien muchos módulos son compatibles con PowerShell 7 en diversas plataformas, algunos pueden estar limitados a Windows. También es fundamental habilitar la ejecución de scripts ajustando su política de ejecución como se indica a continuación:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned -Force
Al instalar módulos, utilice siempre el parámetro -Scope CurrentUser para eliminar la necesidad de permisos administrativos.
6 PSReadLine
PSReadLine, incluido por defecto en PowerShell, suele ser infrautilizado, incluso por usuarios experimentados. Este módulo mejora su experiencia en la línea de comandos con funciones como resaltado de sintaxis, edición multilínea y capacidades predictivas de IntelliSense.

Para obtener la última versión de PSReadLine, utilice el siguiente comando:
Install-Module -Name PSReadLine -Scope CurrentUser -Force
Al activar IntelliSense, mejorará su historial de comandos y le ofrecerá sugerencias mientras escribe. Actívelo con:
Set-PSReadLineOption -PredictionSource HistorySet-PSReadLineOption -PredictionViewStyle ListView
Tras ejecutar algunos comandos, como ipconfig o Get-Service, IntelliSense sugerirá opciones de su historial a medida que comience a escribir. Puede navegar por estas sugerencias con las flechas arriba y abajo y confirmar su selección con la tecla Intro.
5 ImportarExcel
Con más de 14 millones de descargas, ImportExcel es una opción popular para los usuarios que desean crear hojas de cálculo de Excel sin la necesidad de Excel en sí, ideal para entornos de servidor o scripts de automatización.

Para instalar ImportExcel, ingrese el siguiente comando:
Install-Module -Name ImportExcel -Scope CurrentUser
Este módulo puede realizar tareas que van desde exportaciones básicas hasta funciones más complejas, como tablas dinámicas y formato condicional. Por ejemplo, para exportar información sobre procesos en ejecución a una hoja de cálculo formateada, utilice:
Get-Service | Where-Object {$_.Status -eq "Running"} |Export-Excel -Path "ServiceReport.xlsx" -AutoSize -TableStyle Medium9 -FreezeTopRow
Este comando reúne todos los servicios activos y los exporta a un archivo Excel, formateando las columnas para que se ajusten al contenido y congelando la fila del encabezado para mayor comodidad.

4 PSWriteHTML
PSWriteHTML le permite transformar la salida de PowerShell en informes HTML, completos con tablas y gráficos, sin necesidad de conocimientos previos de codificación HTML.

Instale el módulo con el comando:
Install-Module -Name PSWriteHTML -Scope CurrentUser
Para crear un informe del sistema que destaque los diez procesos principales por uso de CPU, utilice:
Import-Module PSWriteHTML;$procs = Get-Process | Select-Object Name, CPU, WorkingSet -First 10New-HTML -TitleText "System Report" -FilePath "Report.html" -ShowHTML {New-HTMLSection -HeaderText "Process Information" {New-HTMLTable -DataTable $procs -Filtering -Buttons @('copyHtml5', 'excelHtml5')}}
El HTML generado cuenta con capacidades de clasificación, filtrado y exportación impulsadas por JavaScript.

3 PSWindowsUpdate
Como el módulo más popular en la Galería de PowerShell con más de 33 millones de descargas, PSWindowsUpdate ofrece cmdlets diseñados específicamente para administrar el Cliente de Windows Update.

Instálelo usando el siguiente comando:
Install-Module -Name PSWindowsUpdate -Scope CurrentUser
Este módulo proporciona cmdlets para la gestión integral de Windows Update, ideal para automatizar tareas. Compruebe si hay actualizaciones pendientes en varios servidores simultáneamente con:
$Servers = 'SERVER01', 'SERVER02', 'SERVER03'Invoke-Command -ComputerName $Servers -ScriptBlock {Import-Module PSWindowsUpdate<|image_sentinel|>Get-WindowsUpdate -MicrosoftUpdate | Select-Object @{n='Computer';e={$env:COMPUTERNAME}}, KB, Title, Size, IsDownloaded, IsInstalled, RebootRequired} | Sort-Object Computer, KB | Format-Table -AutoSize
Esto revela rápidamente las actualizaciones pendientes en sus servidores. Puede instalar actualizaciones específicas, ocultar las problemáticas o programar instalaciones cómodamente. Utilice el parámetro -AcceptAll para omitir las solicitudes de confirmación.
2 iconos de terminal
Renueve su experiencia de terminal de PowerShell con Terminal-Icons, que añade iconos reconocibles a los archivos en las listas de directorios. Cada tipo de archivo se representa con su icono y color únicos, lo que mejora la visibilidad y facilita la navegación.

Para instalar, ejecute:
Install-Module -Name Terminal-Icons -Scope CurrentUser
Este módulo mejora la salida de Get-ChildItem. Después de la instalación, para ver los iconos, utilice:
Import-Module Terminal-Icons
Posteriormente, al ejecutar Get-ChildItem o sus alias, cada tipo de archivo mostrará su icono y color correspondientes. Los scripts de PowerShell mostrarán el logotipo de PowerShell y las carpetas mostrarán sus iconos correspondientes. Esta mejora estética no solo mejora la apariencia de su terminal, sino que también facilita la identificación rápida de archivos al navegar entre pestañas. Tenga en cuenta que es necesario instalar una fuente Nerd para que los iconos se visualicen correctamente.

1 Transferetto
Transferetto es un módulo de PowerShell diseñado para simplificar la interacción con FTP, FTPS y SFTP. En lugar de profundizar en clases. NET o utilizar herramientas de terceros, ofrece cmdlets intuitivos y nativos de PowerShell.

Para instalar Transferetto, utilice:
Install-Module -Name Transferetto -Scope CurrentUser
El flujo de trabajo refleja fielmente el de los módulos de base de datos: conectar, ejecutar tareas y desconectar:
$Client = Connect-FTP -Server "ftp.example.com" -Credential (Get-Credential)Send-FTPFile -Client $Client -LocalPath "C:\Reports\Report1.xlsx" -RemotePath "/uploads/"Disconnect-FTP -Client $Client
Además de las funciones básicas, Transferetto admite configuraciones SSL, métodos de cifrado, opciones de validación de certificados y el comando Request-FTPConfiguration, que puede probar automáticamente la configuración de conexión de su servidor.
Además, no se limita a archivos individuales; puedes subir directorios completos usando Send-FTPDirectory o incluso realizar transferencias FXP (copia de archivos de servidor a servidor).Gracias a su compatibilidad con SFTP y SSH, también puedes ejecutar comandos remotos durante las transferencias de archivos.
Dado que Transferetto funciona tanto en Windows PowerShell 5.1 como en PowerShell 7+, sus scripts siguen funcionando en las plataformas Windows, Linux y macOS sin necesidad de realizar ninguna modificación.
Incluso si usa PowerShell solo para tareas básicas, familiarizarse con varios módulos puede mejorar su eficiencia. Módulos como PSReadLine aceleran la escritura con sugerencias predictivas, ImportExcel facilita la gestión de hojas de cálculo sin Excel y Terminal-Icons mejora la legibilidad de la interfaz de su terminal.
Hay una amplia gama de módulos disponibles en la Galería de PowerShell. Asegúrese de revisar su compatibilidad y el historial de actualizaciones antes de la instalación. Comience con uno o dos módulos que aborden directamente sus necesidades más urgentes y luego amplíe gradualmente su conjunto de herramientas a medida que se familiarice con ellos.
Deja una respuesta