Creazione di condizioni globali ConfigMgr

È necessario installare un'applicazione solo quando è già installata un'altra applicazione? Oppure, è necessario impedire l'installazione di un'applicazione se è già installata un'applicazione diversa? Sono stato in entrambe le situazioni prima, motivo per cui ho impostato le condizioni globali per verificare l'esistenza o l'inesistenza di applicazioni già installate. In questo post, ti mostrerò come creare condizioni globali ConfigMgr per verificare SMS_InstalledSoftware nel requisito del tipo di applicazione.

Situazione

Si desidera aggiornare un'applicazione, quindi utilizziamo le app Microsoft 365 (M365) per le aziende come esempio. Sai che se aggiorni un utente che ha Office 2016 e il plug-in Faxcom installato, aggiornerà correttamente Office 2016 a M365, ma interromperà Faxcom nel processo, richiedendo una disinstallazione e una reinstallazione per correggere Faxcom. Per evitare che qualcuno installi M365 dal Catalogo software e interrompa una delle sue applicazioni business-critical, puoi sfruttare i requisiti dell'applicazione, che sono le tue condizioni globali.

Per saperne di più sulle condizioni globali, consulta i documenti MSFT https://docs.microsoft.com/en-us/mem/configmgr/apps/deploy-use/create-global-conditions. Se desideri saperne di più su come ho distribuito M365, dai un'occhiata al mio Serie di blog M365.

Come creare condizioni globali ConfigMgr

Inizia creando una nuova condizione globale. Dagli un nome e una descrizione. Assicurati che Tipo di impostazione è impostato per sceneggiatura e poi aggiungi il tuo codice. Sotto lo screenshot, mostro il codice che ho usato per il mio script.

ConfigMgr Condizioni globali - Crea condizione globale
Nome: SMS_Software installato - ARPDisplayName
Descrizione: Questo raccoglierà i risultati di tutti gli ARPDisplayName in SMS_InstallSoftware e li unirà in una stringa che verrà restituita.

Codice: $AllApps = Get-CimInstance -Namespace root/cimv2/sms -ClassName SMS_InstalledSoftware Foreach ($App in $AllApps) { $AppDisplayName += ",$($App.ARRPDisplayName)" } $AppDisplayName

Ecco come appare l'output del codice PowerShell su un client ConfigMgr:

Output del codice PowerShell

Una volta creata la condizione globale, è possibile utilizzarla in un'applicazione come requisito. Tuttavia, prima di aggiungere requisiti alle applicazioni di produzione, ho una "App falsa" che mi piace usare per testare le cose. Userò questa app per testare questa nuova condizione globale.

Test della condizione globale ConfigMgr

ConfigMgr Condizioni globali - Scheda Tipi di distribuzione e requisiti

Nell'applicazione, vai a Tipi di distribuzione e poi vai su Requisiti scheda. Clic Aggiungere che consente di creare un requisito. Quando scegli Costume dal Categoria campo, tirerà dalle tue condizioni globali. Ora seleziono quello che ho appena creato, aggiungi Non contiene e digita Colpo verde per il valore.

Cosa fa questo? Quando l'applicazione viene valutata sull'endpoint, eseguirà questa condizione e, se trova un'applicazione installata con ARPDisplayName che CONTAINS Greenshot, NON ne consentirà l'installazione.

Successivamente, vado su Software Center e provo a installare FakeApp con i requisiti su una macchina su cui è installato Greenshot e un altro su cui non è installato. Puoi vedere negli screenshot qui sotto che i risultati erano come previsto.

Centro software

Report dei risultati

E come si fa a capire perché un'app ha fallito? Passiamo alla segnalazione in console.

ConfigMgr Condizioni globali - Stato della distribuzione

Sotto il Requisiti non soddisfatti scheda, puoi vedere le macchine che non soddisfano i requisiti insieme al motivo. Questo è utile se hai diversi requisiti su un'applicazione e vuoi sapere su quale ha fallito.

SMS_Software installato

Puoi usare altri campi in SMS_InstalledSoftware, ma finora ho trovato solo Editore essere utile. In alcuni casi, abbiamo trovato alcune applicazioni con nomi simili di editori diversi, ma l'editore stesso era unico.

Nome: SMS_InstalledSoftware - Descrizione dell'editore: questo raccoglierà i risultati di tutti gli editori in SMS_InstallSoftware e li unirà in una stringa che verrà restituita. Codice: $AllApps = Get-CimInstance -Namespace root/cimv2/sms -ClassName SMS_InstalledSoftware Foreach ($App in $AllApps) { $AppPublisher += ",$($App.Publisher)" } $AppPublisher

Sfrutta PowerShell nelle condizioni globali ConfigMgr

Sfruttando PowerShell in condizioni globali, ti dà la possibilità di aggiungere requisiti molto specializzati alle distribuzioni delle tue applicazioni per controllare in modo granulare quali macchine ne consentiranno l'installazione. Ora vai avanti e consenti ai tuoi team di distribuzione di distribuire le tue app in pace sapendo che anche se le distribuiscono su tutti i sistemi, verranno installate solo sulle macchine corrette! Puoi sfruttare la potenza delle condizioni globali e dei requisiti del tipo di distribuzione dell'app.*

*Questa NON è un'approvazione per eseguire distribuzioni estese o indirizzare tutti i sistemi, ma semplicemente sottolineare che i requisiti, se implementati correttamente, possono ridurre i rischi e garantire che le app vengano installate sugli endpoint corretti.

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