Afficher les exigences de déploiement d'applications ConfigMgr à l'aide de PowerShell

Avez-vous un type de déploiement d'application ConfigMgr avec plusieurs exigences ? Devez-vous les garder documentés? Je fais. Ils changent constamment sur quelques-unes de nos applications pour garantir que nous n'installons pas une application sur une machine qui aurait un impact négatif sur ce point de terminaison. Au début, je prenais des captures d'écran et les collais dans une page Web, mais cela a très vite vieilli.

Liste des exigences de type de déploiement d'applications - La méthode PowerShell

PowerShell est mon outil de prédilection pour à peu près tout, j'ai donc pris quelques minutes pour trouver les applets de commande PowerShell ConfigMgr pour obtenir le type de déploiement d'application, puis j'ai extrait les exigences.

Si vous cherchez juste le code et un exemple, c'est parti :

$AppName = "Recast - Test-App" $AppDTName = "Recast - Test-App AppDT" $AppDT = Get-CMDeploymentType -ApplicationName $AppName -DeploymentTypeName $AppDTName [XML]$AppDTXML = $AppDTXML = $AppDTML2App2PackageTxDtmD | Where-Object {$_.title.'#text' -eq $AppDTName} $AppDTXMLType.Requirements.rule.annotation.displayname
Type de déploiement d'application - Exemple

Comment ça fonctionne

Maintenant, si vous voulez savoir comment cela fonctionne, nous pouvons le concevoir à l'envers.

Tout d'abord, j'enregistre le nom de l'application, puis le type de déploiement dans des variables. Dans mon exemple, l'application s'appelle « Recast – Test-App » et le type de déploiement s'appelle « Recast – Test-App AppDT ». Avec un seul type de déploiement, vous pourriez en fait simplifier un peu le code. Je travaillais avec des applications avec plusieurs types de déploiement, mais je ne m'intéressais qu'à l'un d'entre eux. Cela pourrait être facilement modifié pour générer les exigences sur tous les types de déploiement pour une application. Si vous essayez de faire ça et que vous rencontrez un problème, frappez-moi @gwblok et je vais vous donner un coup de main, ou mettre à jour ce post.

Une fois que vous connaissez le nom de l'application et le nom de l'AppDT, vous pouvez extraire ces données ConfigMgr via PowerShell dans une variable :

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

Alors qu'y a-t-il dans $AppDT ? Il existe plusieurs méthodes (que je n'aborderai pas) et propriétés qui stockent les données. Utiliser Get-Member et le limiter aux propriétés vous donne une liste :

Liste des propriétés

Si vous voulez voir les données qui se cachent derrière, exécutez simplement la variable :

Type de déploiement d'application - Variable

La plupart des informations d'Application DT sont dans le XML, y compris une tonne que nous ne voulons pas, donc j'ai besoin que PowerShell tire uniquement la partie que je veux. Afin de rendre ces données utiles à PowerShell, je convertis cette propriété en XML et la place dans une variable.

[XML]$AppDTXML = $AppDT.SDMPackageXML
XML

Cela ne ressemble pas à grand-chose, mais maintenant nous pouvons commencer à creuser.

Résultat

Creuser

En creusant, nous voyons qu'il n'y a qu'un seul type de déploiement sur l'application. Pour une raison quelconque, s'il y a plus d'un AppDT, il les répertoriera tous ici même si vous avez indiqué à la commande quel AppDT utiliser. C'est pourquoi j'ai ensuite cette ligne à extraire du XML pour uniquement l'AppDT qui nous intéresse :

$AppDTXMLType = $AppDTXML.AppMgmtDigest.DeploymentType | Où-Objet {$_.title.'#text' -eq $AppDTName}

Ce code placera dans la variable $AppDTXMLType les informations AppDT de l'AppDT qui correspondent au nom dont nous lui avons parlé au début. Le reste sera jeté. Maintenant que je n'ai que l'AppDT qui nous intéresse, nous pouvons approfondir.

Je vais vous montrer en creusant couche par couche :

Règles d'exigence

Tout d'abord, j'examinerai les règles relatives aux exigences. Maintenant, il y en a plusieurs, alors j'en ai sélectionné seulement deux. Cela me donne suffisamment d'informations sur la façon de creuser plus profondément, tout en gardant l'écran propre pour capturer cette image.

Après cela, je me plonge dans Annotation, qui me donne le nom d'affichage et la description, donc je creuse dans le nom d'affichage, et cela a fourni les informations que je voulais.

Nous avons près de 20 exigences sur notre application M365 en raison de tant de conflits de compatibilité. Si nous mettions à niveau l'application, nous interromprions les compléments actuellement installés, de sorte que les exigences les empêchent d'installer et d'interrompre une fonction commerciale importante. Pour en savoir plus sur la façon dont j'ai déployé M365, consultez mon Série de blogs M365.

À partir de là, je peux copier et coller ou utiliser une autre API pour télécharger au bon endroit. Pour nous, c'est Confluence.

J'espère que cela aidera également à montrer comment vous pouvez tirer parti de PowerShell pour trouver presque toutes les informations sur un type de déploiement d'application dans ConfigMgr à utiliser pour l'automatisation.

Découvrez comment Right Click Tools change la façon dont les systèmes sont gérés.

Augmentez immédiatement votre productivité grâce à notre version Community Edition limitée et gratuite.

Commencez dès aujourd'hui avec Right Click Tools :

Assistance

  • Ce champ n’est utilisé qu’à des fins de validation et devrait rester inchangé.

Contact

  • Ce champ n’est utilisé qu’à des fins de validation et devrait rester inchangé.

En soumettant ce formulaire, vous comprenez que Recast Software peut traiter vos données comme décrit dans le Recast Software Politique de confidentialité.

fr_FRFrench