students microsoft management for azureweb powershell azure azure-cli azure-cli2

powershell - for - microsoft management azure



¿Azure CLI vs Powershell? (5)

No es capaz de comprender con precisión el mérito de la CLI de Azure en el entorno de Windows.

¿Está dirigido a la audiencia que desea administrar Azure IAAS desde un entorno Linux?

Pensé que el núcleo de Powershell será el camino para los administradores que no utilizan Windows. ¿Powershell Core no se portará bien en todas las plataformas para servir a una audiencia multiplataforma?

En pocas palabras, ¿vale la pena aprender Azure CLI?


Azure CLI es una herramienta similar a PowerShell disponible para todas las plataformas. Puede usar los mismos comandos sin importar la plataforma que use: Windows, Linux o Mac.

Ahora, hay dos versiones de CLI de Azure. El CLI 1.0 de Azure se escribió con Node.js para lograr capacidades multiplataforma, y ​​el nuevo CLI 2.0 de Azure está escrito en Python para ofrecer mejores capacidades multiplataforma. Ambos son Open Source y están disponibles en Github. Sin embargo, por ahora, solo ciertos cmdlets de PowerShell admiten el uso en Linux.

¿Está dirigido a la audiencia que desea administrar Azure IAAS desde un entorno Linux?

Creo que la respuesta es sí. Para un desarrollador de Linux o Mac, creo que es más probable que utilicen CLI de Azure.


PowerShell también es de código abierto. Microsoft acaba de lanzar el módulo PowerShell Azure Az (diciembre de 2018), que utiliza el núcleo .Net. Así que se ejecuta en Linux, Mac OS y Windows. Azure CLI todavía está allí para desarrolladores de Linux, si se prefiere.


Powershell no estaba disponible en plataformas que no sean Windows antes de 2018. A partir de enero de 2018, Powershell está disponible en plataformas MacOS y Linux.

Las instrucciones de instalación para Powershell en MacOS o Linux están disponibles here


Solo quería agregar mi experiencia con Azure Cli y Az PowerShell.

Según 2019, ambos son multiplataforma, por lo que solo debería ser una preferencia de idioma / sintaxis, pero con Azure Cli todos / la mayoría de los comandos son idempotentes .

Terminé reemplazando todas mis plantillas ARM con scripts de Azure Cli, ya que es menos detallado y fácil de leer.

Con Az Powershell, aún debe verificar si el recurso existe antes de crearlo; de lo contrario, generará una excepción, por lo que los scripts pueden ser muy complicados sin ninguna razón.

Estamos utilizando tanto Azure Cli como Az Powershell con Azure DevOps. El comando de Azure Cli solo se puede ejecutar desde scripts de bash (Linux) o bat (Windows). Así que no es óptimo ...

  • Implementamos recursos con Azure Cli porque es fácil de leer y los comandos son idempotentes.
  • Para las secuencias de comandos complejas, prefiero usar PowerShell ya que hay muchas características útiles de lenguaje.

Tanto la CLI de Azure como el paquete de PowerShell utilizan la API REST de Azure.

Como dijo uno de nuestros contactos de Microsoft: Use lo que quiera y prefiera.

Hay algunas ventajas para Azure CLI:

  1. Open Source - que tiene muchas ventajas. Podría estar desarrollándose más rápido en el futuro. Puede ver lo que realmente está en el Código, la comunidad podría o será más grande, y así sucesivamente.
  2. Azure CLI se puede usar con Groovy, Python, Ruby o cualquier otro lenguaje de scripting. Es más fácil obtener buenos desarrolladores para estos idiomas que un desarrollador experimentado de PowerShell. Por ejemplo: tomé Groovy debido a Java. Es más fácil usar esta combinación que aprender las secuencias de comandos de PowerShell ...

Actualmente hay 1 positivo muy grande para PowerShell : hay un gran repositorio de ejemplos de scripts de PowerShell para Azure. PERO: a menudo tiene que hacerlo por su cuenta para satisfacer sus necesidades; por lo tanto, un ejemplo puede ser un buen punto de partida; a veces es más fácil comenzar desde cero.

Mi recomendación sería: Usar CLI de Azure -> Para las secuencias de comandos, use el idioma con el que su empresa está familiarizada.