Si todavía está escribiendo scripts personalizados de PowerShell para transferencias básicas de archivos e informes de Excel, está trabajando demasiado duro. Los módulos PowerShell preparados manejan las tareas más comunes mejor que cualquier cosa que escriba desde cero.
Para instalar estos módulos, necesitará PowerShell 5.1 o más. La mayoría de los módulos funcionan multiplataforma en PowerShell 7, aunque algunos son específicos de Windows. Asegúrese de poder ejecutar scripts configurando su política de ejecución:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned -Force
Instalaremos todos los módulos utilizando el mismo patrón con el -Scope CurrentUser parámetro para evitar la obligación de derechos de administrador.
PSREADLINE se envía con PowerShell de forma predeterminada, pero conozco a muchas personas, incluidos algunos usuarios avanzados de PowerShell, que no lo aprovechan al mayor. Este módulo agrega potentes características de estampación de raya de comandos, como resaltar sintaxis, estampación de múltiples líneas e Intellisense predictivo.
Ayer de comenzar a usarlo, ejecute el sucesivo comando para instalar la última lectura de PsReadline:
Install-Module -Name PSReadLine -Scope CurrentUser -Force
Intelisense predictivo se pedestal en el historial de su comando para sugerir finalizaciones mientras escribe. Para habilitarlo, ejecute:
Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle ListView
Asegúrese de tener algunos comandos en su historia, intente ejecutar poco como ipconfig, Get-Serviceu otros comandos bártulos de PowerShell.
Ahora, a medida que comienza a escribir, PowerShell mostrará sugerencias de su historial. Puede desplazarse por ellas con las teclas de flecha; presione el Llaves de flecha hacia lo alto/debajo Para decantarse de Listview predicciones y golpes Ingresar para ejecutar.
ImportExcel tiene más de 14 millones de descargas en la Muestra PowerShell, y por una buena razón. Le permite crear hojas de cálculo de Excel sin tener instalado Excel, lo cual es importante cuando trabaja con servidores o scripts de automatización.
Escriba el sucesivo comando para instalar el módulo:
Install-Module -Name ImportExcel -Scope CurrentUser
El módulo admite todo, desde exportaciones básicas hasta características complejas, como tablas de pivote, gráficos y formato condicional. Aquí hay un caso de uso popular: Exportar información del proceso a una hoja de cálculo formateada:
Get-Service | Where-Object {$_.Status -eq "Running"} |
Export-Excel -Path "ServiceReport.xlsx" -AutoSize -TableStyle Medium9 -FreezeTopRow
El comando inicial obtiene todos los servicios en ejecución, los exporta a un archivo de Excel con columnas de tamaño necesario, aplica un estilo de tabla y congela la fila del encabezado para un desplazamiento más claro.
PSWRITEHTML convierte la salida de PowerShell en informes HTML con tablas, gráficos y filtrado. Es una excelente modo de crear informes y páginas HTML de PowerShell Scripts sin ningún conocimiento HTML.
Escriba el sucesivo comando para instalar el módulo:
Install-Module -Name PSWriteHTML -Scope CurrentUser
Por ejemplo, para crear un crónica del sistema con los 10 procesos principales mediante el uso de la CPU:
Import-Module PSWriteHTML
$procs = Get-Process |
Select-Object Name, CPU, WorkingSet -First 10
New-HTML -TitleText "System Report" -FilePath "Report.html" -ShowHTML {
New-HTMLSection -HeaderText "Process Information" {
New-HTMLTable -DataTable $procs -Filtering -Buttons @('copyHtml5','excelHtml5')
}
}
El HTML resultante incluye los recadero de clasificación, filtrado e incluso exportación de JavaScript.
PSWINDOWSUPDATE es el módulo más descargado en la Muestra PowerShell, con más de 33 millones de descargas. Como su nombre indica, consta de cmdlets para gobernar el cliente de modernización de Windows.
Escriba el sucesivo comando para instalar el módulo:
Install-Module -Name PSWindowsUpdate -Scope CurrentUser
El módulo incluye cmdlets para cada operación de modernización de Windows que pueda faltar, perfecta para los flujos de trabajo de automatización de PowerShell. Durante las ventanas de mantenimiento, puede compulsar actualizaciones pendientes en todos los servidores simultáneamente usando:
$Servers = 'SERVER01','SERVER02','SERVER03'
Invoke-Command -ComputerName $Servers -ScriptBlock {
Import-Module PSWindowsUpdate
Get-WindowsUpdate -MicrosoftUpdate |
Select-Object @{n='Computer';e={$env:COMPUTERNAME}}, KB, Title, Size, IsDownloaded, IsInstalled, RebootRequired
} | Sort-Object Computer, KB | Format-Table -AutoSize
Esto muestra rápidamente actualizaciones pendientes en todos los servidores. Además puede instalar actualizaciones específicas, ocultar las problemáticas o programar instalaciones. Usar el -Acceptall Parámetro para eludir confirmaciones. El módulo puede incluso manejar las actualizaciones del regulador si las necesita.
Terminal-Icons le ayuda a darle vida a su terminal PowerShell agregando iconos de tipo de archivo a sus listados de directorio PowerShell. Cada tipo de archivo obtiene su propio icono y color distintos, lo que hace que sea mucho más claro navegar por los directorios.
Escriba el sucesivo comando para instalar el módulo:
Install-Module -Name Terminal-Icons -Scope CurrentUser
Este módulo se conecta a Get-Childitem Formato de salida. A posteriori de la instalación, escriba:
Import-Module Terminal-Icons
Ahora, cuando usas Get-Childitem o sus seudónimo, cada tipo de archivo muestra su propio icono y color. Los guiones de PowerShell aparecen con el logotipo de PowerShell, las carpetas obtienen íconos de carpetas, etc. Por otra parte de parecer atún, hace que saltar entre las pestañas y las carpetas de la terminal sea mucho más claro. Recuerde que necesitará una fuente nerd instalada en su terminal para que los iconos se muestren correctamente.
Transferetto es un módulo PowerShell que facilita el trabajo con FTP, FTP y SFTP. En extensión de caer en clases de .NET o atornillarse en herramientas externas, obtendrá cmdlets nativos de PowerShell.
Escriba el sucesivo comando para instalar el módulo:
Install-Module -Name Transferetto -Scope CurrentUser
El flujo de trabajo se siente natural si alguna vez ha usado módulos de cojín de datos. Te conectas, haces tu trabajo, luego desconectas:
$Client = Connect-FTP -Server "ftp.example.com" -Credential (Get-Credential)
Send-FTPFile -Client $Client -LocalPath "C:ReportsReport1.xlsx" -RemotePath "/uploads/"
Disconnect-FTP -Client $Client
Más allá de lo elemental, Transferetto admite opciones SSL, modos de oculto, interruptores de subsistencia de certificados y una maña Request-ftpconfiguration Comando que puede probar la configuración de conexión del servidor necesario para usted.
Siquiera se limita a archivos individuales. Puedes empujar directorios completos con Send-ftpdirectoryo incluso hacer transferencias FXP (copias de servidor a servidor). Además hay soporte para SFTP y SSH, por lo que puede ejecutar comandos remotos anejo con sus transferencias.
Donado que funciona en Windows PowerShell 5.1 y PowerShell 7+, sus scripts se ejecutarán a través de Windows, Linux y MacOS sin ningún cambio.
Incluso si solo usa PowerShell para tareas básicas, asimilar algunos módulos puede marcar una gran diferencia. PsReadline lo ayuda a escribir más rápido con sugerencias rápidas de su historial, ImportExcel le permite trabajar con hojas de cálculo sin rajar Excel, y Terminal-Icons hace que su caparazón sea más inteligible.
Puedes encontrar miles de otros módulos en el Muestra PowerShellaunque asegúrese de compulsar sus fechas de modernización y compatibilidad antaño de instalar. Comience con uno o dos módulos que resuelvan sus puntos débiles más grandes, luego agregue gradualmente más a medida que se sienta cómodo.






