tutorial script extension example ejemplos ejecutar desde commands comandos bat powershell module windows-scripting

extension - Cuándo elegir el desarrollo de un módulo PowerShell sobre un script PowerShell



powershell scripting tutorial (2)

Me gustan los módulos por la capacidad de "ocultar" funciones / variables y solo exportar las que quiero.

Estoy a punto de escribir un script de PowerShell para administradores de Windows para ayudarles en ciertas tareas relacionadas con el despliegue de una aplicación web.

¿Hay alguna razón por la que deba favorecer o excluir el desarrollo de un Módulo PowerShell (.psm1) en lugar de hacer un script de PowerShell (.ps1) ?

Argumentos para desarrollar un Script

  • simplicidad : creo que usar un script es un poco más fácil y más sencillo para los Administradores de Windows, ya que no requiere que se instale el módulo (¡pero puedo estar equivocado ya que no soy un Administrador de Windows!).
  • Desarrollo más rápido : el desarrollo de un módulo requiere una programación más cuidadosa y una exposición a los métodos internos. Es como diseñar una API y, por lo tanto, debe ser más riguroso.

Argumentos para desarrollar un módulo :

  • reutilización : esto es lo primero que viene a la mente: si el administrador desea integrar nuestro script en su propio script, ¿podría ser más fácil para él reutilizar un módulo que expone uno (o varios) cmdlet en lugar de invocar nuestro script?
  • ...

Si conoce el caso de uso común de los scripts PS vs módulos PS, o las limitaciones técnicas de cada opción, puede ser útil.


Para comprender qué pueden hacer los módulos por usted, lea esto: http://msdn.microsoft.com/en-us/library/dd878310(v=vs.85).aspx

En una cáscara de nuez,

Los módulos de Windows PowerShell le permiten particionar, organizar y abstraer su código de Windows PowerShell en unidades autónomas y reutilizables. Con estas unidades reutilizables, los administradores, los desarrolladores de secuencias de comandos y los desarrolladores de cmdlets pueden compartir fácilmente sus módulos directamente con los demás. Los desarrolladores de scripts también pueden volver a empaquetar módulos de terceros para crear aplicaciones personalizadas basadas en scripts. Los módulos, similares a los módulos en otros lenguajes de scripting como Perl y Python, permiten soluciones de scripting listas para la producción que utilizan componentes reutilizables y redistribuibles, con el beneficio adicional de permitirle volver a empaquetar y abstraer múltiples componentes para crear soluciones personalizadas.

Si su script ya tiene funciones y no está escrito para realizar una sola tarea, puede cambiarle el nombre a .PSM1 para convertirlo en módulo. Si no está utilizando funciones, por supuesto, no hay más remedio que optar por .ps1. En tal caso, cada .ps1 se utilizará para realizar una sola tarea. Siempre prefiero los módulos cuando comparto los scripts que escribo con otros.