Imagen: iStockphoto/peerapong boriboon

En un esfuerzo por aumentar el uso de PowerShell (PS) en organizaciones multiplataforma, como aquellas que ven a TI encargada de administrar clientes Linux y macOS además de dispositivos Windows, Microsoft ha convertido PS en un proyecto de código abierto. PowerShell ha pasado de ser una herramienta de administración exclusiva de Windows a una aplicación que se puede instalar en varios tipos de sistemas operativos para extender la funcionalidad de administración a todos los entornos admitidos.

El cambio de dirección ha producido no una, sino dos instancias de PS disponibles para su uso. Según el caso de uso, los administradores se encontrarán utilizando la versión anterior (5.1) utilizada exclusivamente por y para dispositivos Windows, y basada en .NET Framework. Los administradores encargados de administrar sistemas operativos basados ​​en Unix o aquellos que desean estar al tanto de la última versión de PS encontrarán que PowerShell Core (PSC), que se basa en el nuevo tiempo de ejecución de .NET Core, será el camino a seguir. siga a partir de la versión 6.0.

Solo para aclarar, PSC 6.0 está disponible para todas las versiones de los tipos de sistemas operativos compatibles. Esto también incluye a los clientes de Windows, con la versión más nueva muy bien ubicada junto a la versión anterior instalada de forma nativa en las versiones modernas del sistema operativo Windows. Dicho esto, Microsoft ya ha dejado claro que el futuro del desarrollo de PS estará dirigido directamente a PSC, no a la versión anterior de PowerShell 5.1.

VER: Scripts de PowerShell: Siete consejos para reducir los errores (PDF gratuito) (TechRepublic)

Con todos estos cambios drásticos en su lugar, hay algunos pros y contras que la informática sin duda encontrará en el uso diario. A continuación, cubriré algunos de los escenarios más comunes que TI podría enfrentar y cómo abordarlos durante la transición. El primero hará malabarismos con varios lanzamientos, ya que el primero recibirá activamente actualizaciones programadas regularmente, incluidas nuevas funciones, mientras que el segundo solo recibirá actualizaciones relacionadas con la corrección de errores críticos, si es necesario.

Índice
  • PowerShell Core frente a PowerShell 5.1: comprensión de las diferencias
  • PowerShell Core y PowerShell: conclusiones clave
  • PowerShell Core frente a PowerShell 5.1: comprensión de las diferencias

    Faltan cmdlets

    Una diferencia importante entre PowerShell y PSC que los usuarios notarán de inmediato es que la cantidad de cmdlets disponibles actualmente (en el momento de escribir este artículo) es el doble para PS que para PSC. Todo se reduce a nada más que Microsoft optó por no incluir una serie de cmdlets que no son compatibles con productos de todas las líneas.

    Por ejemplo, el servicio Active Directory (AD) de Microsoft, que permite a las empresas gestionar de forma centralizada usuarios, grupos y objetos informáticos, no se encuentra de forma nativa en PSC. Si bien esto elimina el acceso a la funcionalidad de administración de AD lista para usar para los usuarios de PSC, aquellos que necesitan la capacidad de administración pueden simplemente importar el módulo para obtener la funcionalidad que falta.

    Si bien la cantidad de cmdlets compatibles lógicamente aumentará proporcionalmente con el tiempo a medida que crezca el uso de PSC (y finalmente supere el uso nativo de PowerShell), los departamentos de TI pueden estar mejor atendidos si prueban las limitaciones de PSC y desarrollan flujos de trabajo alternativos antes de hacer que el cambio sea un requisito.

    VER: 20 cmdlets de PowerShell que puede usar en lugar de los comandos CMD (PDF gratuito) (República Tecnológica)

    Módulos no compatibles

    Al igual que los cmdlets faltantes anteriores, PS y PSC obtienen su compatibilidad con cmdlet de los módulos: las colecciones de comandos disponibles/compatibles que se pueden usar en el shell. Debido al cambio de .NET Framework a .NET Core, será necesario volver a escribir los módulos para aprovechar al máximo los nuevos tiempos de ejecución que forman la base de PSC. Hasta que los desarrolladores den este paso, ciertos módulos simplemente no estarán disponibles, lo que significa que los usuarios que confían en un conjunto específico de comandos, o más bien scripts que aprovechan cmdlets particulares, podrían quedar de lado por el momento.

    El consejo aquí es bastante simple: pruebe los scripts utilizados por su organización antes de sumergirse profundamente en las aguas de PSC. A medida que las actualizaciones de PSC son realizadas por Microsoft y los desarrolladores de terceros migran sus flujos de trabajo para admitir mejor PSC, problemas como estos eventualmente serán menos comunes.

    Soporte multiplataforma

    Uno de los mayores beneficios (si no el mayor) desde una perspectiva de administración es el soporte multiplataforma integrado que ocurre automáticamente cuando se usan PowerShell y PowerShell Core. La razón es muy fácil de entender: ¡es la misma base de código! Esto significa que los cmdlets integrados en ambos shells funcionarán sin problemas entre uno u otro.

    Esta compatibilidad multiplataforma significa que los scripts creados y actualmente en uso que funcionan en PowerShell v5.1 funcionarán igual que en PowerShell v6.0 y viceversa. Esto es, en mi opinión, una gran ayuda para los profesionales de TI que ya se han embarcado en la curva de aprendizaje del lenguaje PowerShell e implementarlo en sus procesos de gestión administrativa para su flota de dispositivos existentes en toda la empresa sin tener que editar o modificar scripts antes. , durante o después de la transición.

    PowerShell Core y PowerShell: conclusiones clave

    • PowerShell Core es la nueva versión de código abierto de PowerShell que admite la administración de clientes de Linux, macOS y Windows.
    • PowerShell ahora viene en dos versiones: PowerShell (5.1) y PowerShell Core (6.0).
    • .NET Framework es la dependencia de PowerShell solo para soporte de Windows, mientras que PowerShell Core depende del tiempo de ejecución de .NET Core para soporte multiplataforma.
    • Las organizaciones que se cambien a PowerShell Core deben tener en cuenta que los módulos y los cmdlets no están disponibles inicialmente debido a diferencias fundamentales en el código.
    • PowerShell 5.1 solo recibirá actualizaciones de estabilidad según sea necesario para corregir errores críticos. PowerShell Core 6.0 tendrá un desarrollo continuo, incluidas nuevas funciones en el futuro.