Leer en inglés

Compartir a través de


Elección de la herramienta de línea de comandos para Crescendo

El uso de Crescendo es una manera rápida y confiable de ampliar una herramienta de línea de comandos para generar una experiencia similar a un cmdlet. Muchas veces, la herramienta con la que necesita trabajar está directamente vinculada a la tecnología que está intentando automatizar. Esto simplifica la elección de la herramienta. Sin embargo, no todas las herramientas funcionan de la misma manera. Para optimizar la inversión al desarrollar un cmdlet, tenga en cuenta los siguientes criterios:

Herramientas de línea de comandos que hacen buenos candidatos

  • La herramienta original es difícil de usar.

    Si la herramienta es sencilla de usar y proporciona la información que necesita, no es necesario crear un cmdlet. Sin embargo, esto no siempre es el caso de las herramientas de línea de comandos. Muchas herramientas de línea de comandos tienen su propia sintaxis, parámetros y salida únicos que dificultan que los administradores desconocidos usen los comandos de la herramienta. La conversión de un comando en un cmdlet proporciona todas las ventajas de la detección de cmdlets, la coherencia de la sintaxis y la salida estructurada como objetos .

  • La salida de la herramienta de línea de comandos es difícil de usar en la automatización.

    Las herramientas de línea de comandos generan su información en la pantalla como datos de cadena. Esto no es los datos estructurados (objetos) que PowerShell espera en la canalización, lo que impide que use cmdlets de PowerShell, como Where-Object y ForEach-Object. Crescendo le ayuda a ampliar la experiencia de la herramienta de línea de comandos para que la herramienta pueda participar en la canalización de PowerShell.

  • La herramienta de línea de comandos no proporciona ayuda adecuada.

    Las herramientas de línea de comandos que carecen de información de ayuda pueden ser difíciles de usar. Los cmdlets pueden tener información de ayuda completa que incluye detalles sobre parámetros, descripciones y ejemplos. Crescendo le ofrece la posibilidad de crear la ayuda que falta para los comandos amplificados.

Herramientas de línea de comandos que hacen candidatos incorrectos

  • ¿Ya existe un cmdlet?

    PowerShell tiene un ecosistema bien establecido de módulos que amplían las funcionalidades integradas de PowerShell. Antes de decidir ampliar una herramienta de línea de comandos con Crescendo, compruebe primero si ya existe un cmdlet que realiza el objetivo previsto. Por ejemplo, ajustar el comando ipconfig.exe de Windows para obtener la dirección IP actual es una opción deficiente porque el módulo NetTCPIP contiene Get-NetIPConfiguration, que proporciona la misma información con la salida estructurada.

  • ¿Hay mejores maneras?

    A menudo, la información que necesita para la automatización se puede obtener más rápido que hacer que un cmdlet. PowerShell le permite acceder a otros marcos y bibliotecas, como WMI y .NET. En lugar de invertir tiempo en ampliar una herramienta de línea de comandos, es posible que pueda obtener la información más rápidamente mediante una de estas bibliotecas.

  • ¿La salida es trivial?

    En algunas situaciones, la herramienta de línea de comandos puede generar una salida fácil de usar en la automatización. Si este es el caso, invertir tiempo en la creación de un cmdlet con salida estructurada puede no merecer la pena el esfuerzo de crear un cmdlet amplificado.

Prácticas recomendadas

  • Optimice su inversión de tiempo centrándose en lo que necesita.

    Al examinar una herramienta de línea de comandos para la automatización, recuerde que no es necesario replicar todas las características de la herramienta en el cmdlet amplificado. En otras palabras, céntrese en las características de la herramienta que necesita para lograr su objetivo. Si una herramienta tiene 12 casos de uso y solo necesita la funcionalidad de dos, cree una configuración de Crescendo solo para los dos escenarios que necesite.

Paso siguiente