Tengo un grupo de scripts de PowerShell que a veces se ejecutan juntos, a veces de a uno por vez. Cada uno de los scripts requiere que se cargue un cierto complemento.Cómo comprobar si el complemento de PowerShell ya está cargado antes de llamar a Add-PSSnapin
En este momento, cada script llama al Add-PSSnapin XYZ
al principio.
Ahora si me quedo varias secuencias de comandos de back-to-back los guiones posteriores arrojan:
No se puede agregar de Windows PowerShell XYZ porque se añade alerady. Verifique el nombre del complemento y vuelva a intentarlo.
¿Cómo puedo hacer que cada script compruebe si el complemento ya está cargado antes de llamar a Add-PSSnapin?
Ah-hah! Esto es exactamente lo que necesitaba, ¡gracias! Había intentado algo similar a esto en mis experimentos, pero no sabía sobre -ErrorAction SilentlyContinue. – joshuapoehls
SilentlyContinue se debe a que Get-PSSnapin no devuelve silenciosamente null cuando no encuentra la instantánea de forma predeterminada. Se equivoca. – Rich
Para el perezoso: [Este artículo] (http://mcpmag.com/articles/2009/05/19/snapins-on-standby.aspx) proporciona un ejemplo de código completo sobre cómo comprobar si un complemento está registrado antes de cargarlo – herzbube