Esamina i requisiti del tipo di distribuzione dell'applicazione ConfigMgr utilizzando PowerShell

Hai un tipo di distribuzione dell'applicazione ConfigMgr con diversi requisiti? Devi tenerli documentati? Io faccio. Cambiano costantemente su alcune delle nostre applicazioni per garantire che non installiamo un'applicazione su una macchina che avrà un impatto negativo su quell'endpoint. All'inizio prendevo schermate e le incollavo in una pagina web, ma è diventato vecchio molto velocemente.

Elenco dei requisiti del tipo di distribuzione dell'applicazione - The PowerShell Way

PowerShell è il mio strumento di riferimento per praticamente tutto, quindi ho impiegato alcuni minuti per trovare i cmdlet PowerShell ConfigMgr per ottenere il tipo di distribuzione dell'applicazione, quindi ho estratto i requisiti.

Se stai solo cercando il codice e un esempio, ecco qui:

$AppName = "Recast - Test-App" $AppDTName = "Recast - Test-App AppDT" $AppDT = Get-CMDeploymentType -ApplicationName $AppName -DeploymentTypeName $AppDTName [XML]$AppDTXMLTPgTAppTypeDiMLDeployment.STPAppTypePackage | Where-Object {$_.title.'#text' -eq $AppDTName} $AppDTXMLType.Requirements.rule.annotation.displayname
Tipo di distribuzione dell'applicazione - Esempio

Come funziona

Ora, se vuoi sapere come funziona, possiamo ingegnerizzarlo a ritroso.

Innanzitutto, registro il nome dell'applicazione e quindi il tipo di distribuzione nelle variabili. Nel mio esempio, l'applicazione si chiama “Recast – Test-App” e il tipo di distribuzione si chiama “Recast – Test-App AppDT”. Con un singolo tipo di distribuzione, potresti effettivamente semplificare un po' il codice. Stavo lavorando con app con più tipi di distribuzione, ma mi interessava solo una di esse. Questo potrebbe essere facilmente modificato per generare i requisiti su tutti i tipi di distribuzione per un'applicazione. Se stai provando a farlo e ti imbatti in un intoppo, contattami @gwblok e ti do una mano, oppure aggiornerò questo post.

Una volta che conosci il nome dell'app e il nome AppDT, puoi estrarre i dati ConfigMgr tramite PowerShell in una variabile:

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

Quindi cosa c'è in $AppDT? Esistono diversi metodi (in cui non entrerò) e proprietà che memorizzano i dati. Utilizzando Get-Member e limitandolo alle proprietà viene fornito un elenco:

Elenco delle proprietà

Se vuoi vedere i dati dietro di esso, esegui semplicemente la variabile:

Tipo di distribuzione dell'applicazione - Variabile

La maggior parte delle informazioni di Application DT è nell'XML, inclusa una tonnellata che non vogliamo, quindi ho bisogno che PowerShell estragga solo la parte che voglio. Per rendere quei dati utili a PowerShell, ho lanciato quella proprietà come XML e l'ho inserita in una variabile.

[XML]$AppDTXML = $AppDT.SDMPackageXML
XML

Non sembra molto, ma ora possiamo iniziare a scavare in esso.

Risultato

Scavando dentro

Approfondendo, vediamo che c'è un solo tipo di distribuzione sull'app. Per qualche ragione, se c'è più di un AppDT, li elencherà tutti qui anche se hai detto al comando quale AppDT usare. Questo è il motivo per cui ho questa riga da estrarre dall'XML solo per l'AppDT a cui teniamo:

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

Quel codice inserirà nella variabile $AppDTXMLType le informazioni AppDT dall'AppDT che corrispondono al nome di cui abbiamo parlato all'inizio. Il resto verrà scartato. Ora che ho solo l'AppDT a cui teniamo, possiamo approfondire.

Te lo mostrerò scavando strato per strato:

Regole sui requisiti

In primo luogo, esaminerò le regole sui requisiti. Ora ce ne sono diversi, quindi ne ho selezionati solo due. Questo mi dà abbastanza informazioni su come scavare più a fondo, mantenendo lo schermo pulito per catturare questa immagine.

Dopodiché, approfondisco Annotation, che mi dà Displayname e Description, quindi scavo in Displayname e questo ha fornito le informazioni che volevo.

Abbiamo quasi 20 requisiti sulla nostra applicazione M365 a causa di tanti conflitti di compatibilità. Se aggiornassimo l'app, interromperemmo i componenti aggiuntivi attualmente installati, quindi i requisiti impediscono loro di installare e interrompere un'importante funzione aziendale. Per saperne di più su come ho distribuito M365, dai un'occhiata a my Serie di blog M365.

Da qui, posso copiare e incollare o sfruttare un'altra API per caricare nel posto corretto. Per noi è Confluence.

Spero che questo aiuti anche a mostrare come puoi sfruttare PowerShell per trovare quasi tutte le informazioni su un tipo di distribuzione dell'applicazione in ConfigMgr da utilizzare per l'automazione.

Scopri come Right Click Tools sta cambiando il modo in cui vengono gestiti i sistemi.

Aumenta immediatamente la produttività con la nostra Community Edition limitata e gratuita.

Inizia oggi con Right Click Tools:

Condividi questo:

Supporto

  • Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.

Contatti

  • Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.
it_ITItalian