Creación de condiciones globales ConfigMgr

¿Necesita instalar una aplicación solo cuando otra aplicación ya está instalada? ¿O necesita evitar que se instale una aplicación si ya está instalada una aplicación diferente? He estado en ambas situaciones antes, por lo que configuré condiciones globales para verificar la existencia o no existencia de aplicaciones ya instaladas. En esta publicación, le mostraré cómo crear condiciones globales ConfigMgr para verificar SMS_InstalledSoftware en el requisito de tipo de aplicación.

Situación

Si desea actualizar una aplicación, usemos Microsoft 365 Apps (M365) para empresas como ejemplo. Sabe que si actualiza a un usuario que tiene Office 2016 y el complemento Faxcom instalado, actualizará correctamente Office 2016 a M365, pero interrumpirá Faxcom en el proceso, lo que requiere una desinstalación y reinstalación para reparar Faxcom. Para evitar que alguien instale M365 desde el Catálogo de software y rompa una de sus aplicaciones críticas para el negocio, puede aprovechar los requisitos de la aplicación, que son sus condiciones globales.

Para obtener más información sobre las condiciones globales, consulte los documentos de MSFT https://docs.microsoft.com/en-us/mem/configmgr/apps/deploy-use/create-global-conditions. Si desea obtener más información sobre cómo implementé M365, consulte mi Serie de blogs M365.

Cómo crear condiciones globales ConfigMgr

Empiece por crear una nueva condición global. Dale un nombre y una descripción. Asegúrate que Tipo de ajuste se establece en Texto y luego agregue su código. Debajo de la captura de pantalla, muestro el código que usé para mi script.

Condiciones globales ConfigMgr - Crear condición global
Nombre: SMS_InstalledSoftware - ARPDisplayName
Descripción: Esto recopilará los resultados de todos los ARPDisplayNames en SMS_InstallSoftware y los fusionará en una cadena que se devolverá.

Código: $AllApps = Get-CimInstance -Namespace root / cimv2 / sms -ClassName SMS_InstalledSoftware Foreach ($App en $AllApps) {$AppDisplayName + = ", $ ($App.ARPDisplayName)"} $App

Así es como se ve la salida del código de PowerShell en un cliente ConfigMgr:

Salida de código de PowerShell

Una vez que crea la condición global, puede usarla en una aplicación como requisito. Sin embargo, antes de agregar requisitos a las aplicaciones de producción, tengo una "aplicación falsa" que me gusta usar para probar cosas. Usaré esta aplicación para probar esta nueva condición global.

Prueba de la condición global ConfigMgr

Condiciones globales de ConfigMgr: pestaña Tipos de implementación y requisitos

En la aplicación, vaya a Tipos de implementación y luego ir a la Requisitos pestaña. Hacer clic Agregar lo que le permite crear un requisito. Cuando tu eliges Personalizado desde el Categoría campo, se extraerá de sus condiciones globales. Ahora selecciono el que acabo de crear, agrego No contiene y escribe Greenshot por el valor.

¿Qué hace esto? Cuando la aplicación se evalúa en el punto final, ejecutará esta condición, y si encuentra una aplicación instalada con ARPDisplayName que CONTIENE Greenshot, NO permitirá que se instale.

A continuación, me dirijo al Centro de software e intento instalar la FakeApp con el requisito en una máquina que tiene Greenshot instalado y otra que no lo tiene instalado. Puede ver en las capturas de pantalla a continuación que los resultados fueron los esperados.

Centro de software

Informe de resultados

Y, ¿cómo averiguas por qué falló una aplicación? Vayamos a informar en la consola.

Condiciones globales de ConfigMgr: estado de implementación

Bajo la Requisitos no cumplidos pestaña, puede ver las máquinas que no cumplieron con los requisitos junto con el motivo. Esto es bueno si tiene varios requisitos en una aplicación y desea saber en cuál falló.

SMS_InstalledSoftware

Puede usar otros campos en SMS_InstalledSoftware, pero hasta ahora, solo he encontrado Editor ser de ayuda. En algunos casos, hemos encontrado algunas aplicaciones con nombres similares de diferentes editores, pero el propio editor era único.

Nombre: SMS_InstalledSoftware - Publisher Descripción: Esto recopilará los resultados de todos los Publishers en SMS_InstallSoftware y los fusionará en una cadena que se devolverá. Código: $AllApps = Get-CimInstance -Namespace root / cimv2 / sms -ClassName SMS_InstalledSoftware Foreach ($App en $AllApps) {$AppPublisher + = ", $ ($App.Publisher)"} $App.Publisher) "} $App.Publisher)"}

Aproveche PowerShell en condiciones globales ConfigMgr

Aprovechar PowerShell en condiciones globales le brinda el poder de agregar requisitos muy especializados en las implementaciones de sus aplicaciones para controlar de manera granular qué máquinas le permitirán instalar. Ahora, continúe y permita que sus equipos de implementación implementen sus aplicaciones en paz sabiendo que incluso si las implementan en todos los sistemas, ¡solo se instalarán en las máquinas correctas! Puede aprovechar el poder de las condiciones globales y los requisitos del tipo de implementación de la aplicación. *

* Esto NO es un respaldo para realizar implementaciones amplias o apuntar a todos los sistemas, simplemente indica que los requisitos, cuando se implementan correctamente, pueden reducir el riesgo y garantizar que las aplicaciones se instalen en los puntos finales correctos.

Vea cómo Right Click Tools está cambiando la forma en que se administran los sistemas.

Aumente la productividad de inmediato con nuestra versión limitada y gratuita de la edición Community.

Comience con Right Click Tools hoy:

Compartir este:

Ayuda

  • Este campo es para fines de validación y no debe modificarse.

Contacto

  • Este campo es para fines de validación y no debe modificarse.
es_MXSpanish