Revise los requisitos del tipo de implementación de la aplicación ConfigMgr con PowerShell

¿Tiene un tipo de implementación de aplicación ConfigMgr con varios requisitos? ¿Tiene que mantenerlos documentados? Hago. Cambian constantemente en algunas de nuestras aplicaciones para garantizar que no instalemos una aplicación en una máquina que tenga un impacto negativo en ese punto final. Al principio, estaba tomando capturas de pantalla y pegándolas en una página web, pero eso envejeció muy rápido.

Lista de requisitos de tipo de implementación de aplicaciones: el método PowerShell

PowerShell es mi herramienta de referencia para prácticamente todo, así que me tomé unos minutos para encontrar los cmdlets de PowerShell ConfigMgr para obtener el tipo de implementación de la aplicación y luego eliminé los requisitos.

Si solo está buscando el código y un ejemplo, aquí tiene:

$AppName = "Recast - Aplicación de prueba" $AppDTName = "Recast - Aplicación de prueba AppDT" $AppDT = Get-CMDeploymentType -ApplicationName $AppName -DeploymentTypeName $AppDTNameName [XML] $AppDTAppTepMLDype. Where-Object {$_.title.'#text '-eq $AppDTName} $AppDTXMLType.Requirements.rule.annotation.displayname
Tipo de implementación de la aplicación: ejemplo

Cómo funciona

Ahora, si quiere saber cómo funciona, podemos diseñarlo al revés.

Primero, registro el nombre de la aplicación y luego el tipo de implementación en variables. En mi ejemplo, la aplicación se llama "Recast - Test-App" y el tipo de implementación se llama "Recast - Test-App AppDT". Con un solo tipo de implementación, podría simplificar un poco el código. Estaba trabajando con aplicaciones con múltiples tipos de implementación, pero solo me preocupaba por uno de ellos. Esto podría cambiarse fácilmente para generar los requisitos en todos los tipos de implementación para una aplicación. Si estás tratando de hacer eso y te encuentras con un inconveniente, dame un golpe. @gwblok y te echaré una mano, o actualizaré esta publicación.

Una vez que sepa el nombre de la aplicación y el nombre de AppDT, puede extraer esos datos de ConfigMgr a través de PowerShell en una variable:

$AppDT = Get-CMDeploymentType -ApplicationName $AppName -DeploymentTypeName $AppDTName

Entonces, ¿qué hay en $AppDT? Hay varios métodos (en los que no entraré) y propiedades que almacenan los datos. Usar Get-Member y limitarlo a las propiedades le da una lista:

Lista de propiedades

Si desea ver los datos detrás de él, simplemente ejecute la variable:

Tipo de implementación de la aplicación: variable

La mayor parte de la información de Application DT está en XML, incluida una tonelada que no queremos, por lo que necesito que PowerShell extraiga solo la parte que quiero. Para que esos datos sean útiles para PowerShell, lanzo esa propiedad como XML y la coloco en una variable.

[XML] $AppDTXML = $AppDT.SDMPackageXML
XML

No parece mucho, pero ahora podemos empezar a investigarlo.

Resultado

Cavando en

Al profundizar, vemos que solo hay un tipo de implementación en la aplicación. Por alguna razón, si hay más de un AppDT, los enumerará todos aquí a pesar de que le indicó al comando qué AppDT usar. Es por eso que tengo esta línea para extraer del XML solo para el AppDT que nos importa:

$AppDTXMLType = $AppDTXML.AppMgmtDigest.DeploymentType | Where-Object {$_.title.'#text '-eq $AppDTName}

Ese código colocará en la variable $AppDTXMLType la información de AppDT del AppDT que coincide con el nombre que le dijimos al principio. El resto se descartará. Ahora que solo tengo el AppDT que nos importa, podemos profundizar más.

Te lo mostraré cavando capa por capa:

Reglas de requisitos

Primero, examinaré las reglas de requisitos. Ahora hay varios, así que seleccioné solo dos. Esto me da suficiente información sobre cómo profundizar, mientras mantengo la pantalla limpia para capturar esta imagen.

Después de eso, profundizo en Anotación, que me da el Nombre para mostrar y la Descripción, así que profundizo en el Nombre para mostrar, y eso proporcionó la información que quería.

Tenemos casi 20 requisitos en nuestra aplicación M365 debido a tantos conflictos de compatibilidad. Si actualizamos la aplicación, romperíamos los complementos instalados actualmente, por lo que los requisitos les impiden instalar y romper una función comercial importante. Para ver más sobre cómo implementé M365, consulte mi Serie de blogs M365.

Desde aquí, puedo copiar y pegar o aprovechar otra API para cargar en el lugar correcto. Para nosotros, es Confluence.

Espero que esto también ayude a mostrar cómo puede aprovechar PowerShell para encontrar casi cualquier información sobre un tipo de implementación de aplicación en ConfigMgr para usar en la automatización.

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