PowerShell 7: por qué sirve para automatizar en Mac y Linux

¿Qué es PowerShell 7 y en qué se diferencia de la versión de Windows?

PowerShell nació en 2006 y llegó preinstalado con Windows 7. Pero hoy existen dos productos con el mismo nombre, y solo uno vale la pena: Windows PowerShell (v5.1 y anteriores, basado en .NET Framework y sin desarrollo activo) y PowerShell 7, también llamado PowerShell Core, basado en .NET Core y multiplataforma. Windows 11 sigue incluyendo solo Windows PowerShell, no la versión 7.

Según Redmondmag, la diferencia clave entre Windows PowerShell 5.1 y PowerShell 7.x es el soporte de múltiples plataformas (Windows, macOS y Linux). El salto a .NET Core trae capacidades nuevas, pero a costa de cierta compatibilidad con Windows: un script que corre en Windows puede no funcionar en macOS o Linux, y viceversa.

PowerShell 7 es una descarga gratuita para Windows, Mac y Linux. En Mac se instala con Homebrew y se ejecuta con pwsh desde la Terminal.

¿Y esto cómo se aplica en tu negocio?

En CAR, dueños de empresa de Latinoamérica y España usan la tecnología para ser más rentables. Empiezas con una ruta de 7 días y terminas con un sistema funcionando en tu negocio.

👥 Probar 7 días

Bash vs PowerShell: ¿por qué el pipeline de objetos cambia las reglas?

Bash es excelente para encadenar comandos, pero para cualquier cosa algo más compleja se queda corto: casi no tiene funciones integradas y depende de comandos POSIX y herramientas externas (cURL o Wget para web, jq para JSON, distintas aplicaciones para el portapapeles). Además, es difícil garantizar que un script funcione en la computadora de otra persona: puede que tenga cURL, o Wget, o ninguno de los dos.

PowerShell parte de otra premisa. Sus comandos integrados se llaman cmdlets y siguen el patrón verbo-sustantivo: Set-Location en lugar de cd, Remove-Item en lugar de rm, Clear-Host en lugar de cls. Trae soporte nativo para enteros, strings, arrays y tablas hash, y convierte a y desde JSON sin dependencias externas.

La diferencia de fondo es el pipeline. Según TechTarget, PowerShell usa un pipeline de objetos: los cmdlets se encadenan pasando estructuras de datos completas de uno a otro. Bash, en cambio, pasa texto plano. Eso significa que en PowerShell puedes filtrar, ordenar y transformar propiedades de un archivo sin parsear strings a mano. TechTarget también señala que Bash en Windows viene con menos de 40 funciones internas y alrededor de 100 programas auxiliares, mientras que PowerShell incluye miles de comandos integrados y permite sumar módulos externos.

¿Qué se puede automatizar de verdad con PowerShell?

El autor de la nota original usó PowerShell en dos proyectos concretos. En Just the Browser, un instalador que elimina funciones de IA y rastreo de navegadores de escritorio, el script detecta qué navegadores hay instalados, muestra un menú de "Update settings" y descarga e importa archivos de registro de Windows.

Lo interesante es cómo PowerShell trata el registro de Windows: crea una unidad virtual (HKLM:) para que puedas leer, crear y borrar claves como si fueran archivos. El mismo cmdlet Test-Path sirve para verificar una clave del registro o un archivo en tu carpeta de Descargas. También hay unidades virtuales para certificados, y puedes crear las tuyas propias.

El segundo proyecto fue un script "Tumblr to Eleventy" que toma el export de Tumblr y la API, recorre los posts, extrae el ZIP y genera una estructura JSON lista para el generador de sitios estáticos. Todo con cmdlets como Invoke-WebRequest, ConvertFrom-Json, Expand-Archive y ConvertTo-Json.

Invoke-WebRequest funciona como Wget o cURL en Mac y Linux, pero viene integrado en todas las plataformas. En PowerShell 7 se eliminó el alias curl que apuntaba a este cmdlet, y Windows ahora incluye la aplicación real.

PowerShell en Mac y Linux: ¿cómo empezar sin fricción?

  • Instala PowerShell 7 con Homebrew en Mac o con el paquete de tu distribución en Linux, y ejecútalo con pwsh.
  • Usa Visual Studio Code para escribir scripts: ofrece autocompletado de sintaxis, seguimiento de definiciones y linting para PowerShell.
  • Aprovecha el bloque Param para definir entradas obligatorias con tipo de dato. PowerShell genera la validación y hasta la ayuda (Get-Help) sin código extra, algo que en Bash requiere bastante boilerplate con getparams y condicionales.
  • Si necesitas compatibilidad con Windows PowerShell antiguo, ten en cuenta detalles como habilitar TLS 1.2 antes de usar Invoke-WebRequest.

¿Qué significa esto para tu startup?

Para un equipo pequeño, la automatización es la diferencia entre escalar y ahogarse en tareas manuales. PowerShell 7 entra en esa conversación por una razón simple: es gratis, multiplataforma y ya está presente en la mayoría de las máquinas Windows de tu empresa, donde Bash no llega de forma nativa.

Acciones concretas:

  • Audita tus scripts de Bash frágiles. Si tienes scripts que dependen de cURL, jq o Wget y se rompen en la máquina de un compañero, ese es el candidato perfecto para migrar. PowerShell trae esas capacidades integradas y un manejo de errores con try/catch que Bash no ofrece de serie.
  • Estandariza tareas de onboarding y despliegue. Un script con bloque Param y Get-Help se documenta solo: quien lo ejecuta ve qué parámetros acepta y de qué tipo. Eso reduce el soporte interno y los errores de configuración.
  • Piensa en el registro de Windows como un sistema de archivos. Si tu producto toca configuración de Windows, PowerShell te deja leer y escribir claves con los mismos cmdlets que usas para archivos, sin aprender una API aparte.

La comunidad open source es parte del motivo por el que esto funciona. Según Redmondmag, el paso de PowerShell a un modelo abierto le dio contribuciones de la comunidad, procesos de diseño transparentes y seguimiento de bugs, lo que facilitó llevarlo a nuevas plataformas. Sean Wheeler, principal content developer de PowerShell en Microsoft, lleva más de 25 años en la compañía y lidera la documentación desde 2017.

El mensaje para un founder es incómodo pero útil: no descartes una herramienta por la empresa que la hizo. PowerShell viene del mismo lugar que Copilot, y aun así resuelve un problema real mejor que varias alternativas más de moda.

Fuentes

¿Y esto cómo se aplica en tu negocio?

En CAR, dueños de empresa de Latinoamérica y España usan la tecnología para ser más rentables. Empiezas con una ruta de 7 días y terminas con un sistema funcionando en tu negocio.

👥 Probar 7 días

Daily Shot: Tu ventaja táctica

Lo que pasó en las últimas 24 horas, resumido para que tú no tengas que filtrarlo.

Suscríbete para recibir cada mañana la curaduría definitiva del ecosistema startup e inversionista. Sin ruido ni rodeos, solo la información estratégica que necesitas para avanzar:

  • Venture Capital & Inversiones: Rondas, fondos y movimientos de capital.
  • IA & Tecnología: Tendencias, Web3 y herramientas de automatización.
  • Modelos de Negocio: Actualidad en SaaS, Fintech y Cripto.
  • Propósito: Erradicar el estancamiento informativo dándote claridad desde tu primer café.

📡 El Daily Shot Startupero

Noticias del ecosistema startup en 2 minutos. Gratis, todos los días.

Share to...