Anzeigen der Anforderungen für die ConfigMgr-Anwendungsbereitstellung mithilfe von PowerShell

Haben Sie einen ConfigMgr-Anwendungsbereitstellungstyp mit mehreren Anforderungen? Müssen Sie diese dokumentieren? Das tue ich. Sie ändern sich ständig bei einigen unserer Anwendungen, um sicherzustellen, dass wir keine Anwendung auf einem Computer installieren, die sich negativ auf diesen Endpunkt auswirkt. Zuerst machte ich Screenshots und fügte sie in eine Webseite ein, aber das wurde sehr schnell alt.

Liste der Anforderungen an den Anwendungsbereitstellungstyp – Der PowerShell-Weg

PowerShell ist mein bevorzugtes Tool für so ziemlich alles, also habe ich mir ein paar Minuten Zeit genommen, um die ConfigMgr PowerShell-Cmdlets zum Abrufen des Anwendungsbereitstellungstyps zu finden, und dann die Anforderungen herausgezogen.

Wenn Sie nur nach dem Code und einem Beispiel suchen, gehen Sie hier:

1. Where-Object {$_.title.'#text' -eq $AppDTName} $AppDTXMLType.Requirements.rule.annotation.displayname
Anwendungsbereitstellungstyp - Beispiel

Wie es funktioniert

Wenn Sie nun wissen möchten, wie es funktioniert, können wir es rückwärts entwickeln.

Zuerst zeichne ich den Namen der Anwendung und dann den Bereitstellungstyp in Variablen auf. In meinem Beispiel heißt die Anwendung „Recast – Test-App“ und der Bereitstellungstyp heißt „Recast – Test-App AppDT“. Mit einem einzigen Bereitstellungstyp könnten Sie den Code tatsächlich etwas vereinfachen. Ich habe mit Apps mit mehreren Bereitstellungstypen gearbeitet, mich aber nur um einen von ihnen gekümmert. Dies könnte leicht geändert werden, um die Anforderungen für alle Bereitstellungstypen für eine Anwendung zu generieren. Wenn du das versuchst und in einen Haken gerätst, schlag mich an @gwblok und ich helfe dir oder aktualisiere diesen Beitrag.

Sobald Sie den App-Namen und den AppDT-Namen kennen, können Sie diese ConfigMgr-Daten über PowerShell in eine Variable ziehen:

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

Was ist also in $AppDT? Es gibt mehrere Methoden (auf die ich nicht eingehen werde) und Eigenschaften, die die Daten speichern. Wenn Sie Get-Member verwenden und auf Eigenschaften beschränken, erhalten Sie eine Liste:

Eigenschaftenliste

Wenn Sie die Daten dahinter sehen möchten, führen Sie einfach die Variable aus:

Anwendungsbereitstellungstyp – variabel

Die meisten Anwendungs-DT-Informationen sind in XML enthalten, einschließlich einer Menge, die wir nicht möchten, daher muss PowerShell nur den gewünschten Teil abrufen. Um diese Daten für PowerShell nützlich zu machen, wandele ich diese Eigenschaft in XML um und platziere sie in einer Variablen.

[XML]$AppDTXML = $AppDT.SDMPackageXML
XML

Es sieht nicht nach viel aus, aber jetzt können wir anfangen, uns damit zu beschäftigen.

Ergebnis

Eingraben

Beim Eingraben sehen wir, dass es nur einen Bereitstellungstyp in der App gibt. Wenn es mehr als einen AppDT gibt, werden sie aus irgendeinem Grund hier alle aufgelistet, obwohl Sie dem Befehl mitgeteilt haben, welcher AppDT verwendet werden soll. Aus diesem Grund habe ich dann diese Zeile, um nur für die AppDT, die uns wichtig ist, aus dem XML zu ziehen:

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

Dieser Code platziert in der Variablen $AppDTXMLType die AppDT-Informationen aus dem AppDT, die mit dem Namen übereinstimmen, von dem wir zu Beginn gesprochen haben. Der Rest wird verworfen. Jetzt, da ich nur die AppDT habe, die uns wichtig ist, können wir tiefer eintauchen.

Ich zeige es Ihnen, indem ich Schicht für Schicht nach unten grabe:

Anforderungsregeln

Zuerst werde ich die Anforderungsregeln untersuchen. Jetzt sind es mehrere, also habe ich nur zwei ausgewählt. Dies gibt mir genug Informationen darüber, wie man tiefer gräbt und gleichzeitig den Bildschirm sauber hält, um dieses Bild aufzunehmen.

Danach tauche ich in Annotation ein, die mir Displayname und Description liefert, also tauche ich in Displayname ein, und das lieferte die gewünschten Informationen.

Aufgrund so vieler Kompatibilitätskonflikte haben wir fast 20 Anforderungen an unsere M365-Anwendung. Wenn wir die App aktualisieren, würden wir derzeit installierte Add-Ins unterbrechen, sodass die Anforderungen sie daran hindern, eine wichtige Geschäftsfunktion zu installieren und zu unterbrechen. Weitere Informationen zur Bereitstellung von M365 finden Sie in meinem M365-Blogserie.

Von hier aus kann ich kopieren und einfügen oder eine andere API verwenden, um sie an der richtigen Stelle hochzuladen. Für uns ist es Confluence.

Ich hoffe, dies hilft Ihnen auch zu zeigen, wie Sie PowerShell nutzen können, um nahezu alle Informationen zu einem Anwendungsbereitstellungstyp in ConfigMgr für die Automatisierung zu finden.

Sehen Sie, wie Right Click Tools die Art und Weise verändert, wie Systeme verwaltet werden.

Steigern Sie sofort die Produktivität mit unserer limitierten, kostenlos nutzbaren Community Edition.

Starten Sie noch heute mit Right Click Tools:

Support

  • Dieses Feld dient zur Validierung und sollte nicht verändert werden.

Kontakt

  • Dieses Feld dient zur Validierung und sollte nicht verändert werden.

Durch das Absenden dieses Formulars erklären Sie sich damit einverstanden, dass Recast Software Ihre Daten wie in Recast Software beschrieben verarbeiten kann Datenschutz-Bestimmungen.

de_DEGerman