Módulos de PowerShell que transformaron mi flujo de trabajo

Módulos de PowerShell que transformaron mi flujo de trabajo

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.

Terminal de PowerShell con el módulo PSReadLine instalado
Crédito de la imagen: autocapturada (Tashreef Shareef) – No se requiere atribución

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.

Importar módulo de Excel en la terminal de PowerShell
Crédito de la imagen: autocapturada (Tashreef Shareef) – No se requiere atribució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.

Informe de Excel generado por ImportExcel
Crédito de la imagen: autocapturada (Tashreef Shareef) – No se requiere atribución

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.

Comando de exportación del módulo PSWriteHTML
Crédito de la imagen: autocapturada (Tashreef Shareef) – No se requiere atribución

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.

Resultado de la exportación del módulo PSWriteHTML
Crédito de la imagen: autocapturada (Tashreef Shareef) – No se requiere atribución

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.

Módulo de PowerShell PSWindowsUpdate
Crédito de la imagen: autocapturada (Tashreef Shareef) – No se requiere atribución

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.

Módulo de PowerShell de iconos de terminal
Crédito de la imagen: autocapturada (Tashreef Shareef) – No se requiere atribució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.

Módulo de PowerShell Terminal-Icons con Get-ChildItem
Crédito de la imagen: autocapturada (Tashreef Shareef) – No se requiere atribución

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.

Módulo de PowerShell Transferetto
Crédito de la imagen: autocapturada (Tashreef Shareef) – No se requiere atribución

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.

Fuente e imágenes

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *