Utilizzo di PowerShell per disinstallare le applicazioni

Parte della mia Monitorare la segnalazione delle informazioni (MIR) test (MIR fa ora parte di Rapporti Enhansoft) ha comportato la distribuzione di diversi aggiornamenti ai client del mio laboratorio ConfigMgr. Il mio laboratorio è un mix di entrambi i sistemi operativi x86 e x64 (OS). Dopo aver distribuito tutte queste versioni di MIR, sono rimasto alla ricerca di una soluzione che mi consentisse di ripulire rapidamente le installazioni del client. Alla fine volevo solo la versione finale installata su ogni client. In questo post del blog mostrerò la mia soluzione per come ho utilizzato PowerShell per disinstallare le applicazioni.

Sfortunatamente non c'era modo di sapere quali versioni di MIR sono state distribuite su quali computer di prova. C'era anche la possibilità che diversi computer di prova potessero avere più di una versione di MIR installata. Avevo bisogno di un modo per disinstallare automaticamente MIR senza doverlo disinstallare manualmente su ciascun computer. Volevo uno script che rilevasse tutte le versioni di MIR su un computer e le disinstallasse una alla volta.

Penseresti che esistesse già una soluzione semplice! Sono mai stato distribuito Adobe Reader? Allora sapresti che ci possono essere diverse versioni di Adobe Reader elencato all'interno Aggiungi/Rimuovi programma (ARP) su un computer. Perché non dovrebbe esserci un modo semplice per eliminare le versioni precedenti?

Dopo aver cercato per un po' in rete, ho trovato molti script che mi avrebbero aiutato a disinstallare solo un'applicazione alla volta. C'erano anche alcuni script là fuori che avrebbero interrogato Win32_Prodotto e quindi disinstallare due o più applicazioni. Tuttavia, se hai mai letto il post sul blog di Greg Ramsey Win32_Il prodotto è malvagio allora saprai che questa è una cattiva idea. Non dovresti mai farlo! Ecco perché non potrei mai usare Win32_Product all'interno del mio script a causa dei problemi che crea.

Alla fine, ho messo insieme uno script che ad alto livello:

  • Rileva se lo script è in esecuzione in modalità x84, x64 o WoW32.
  • Legge le chiavi di registro di disinstallazione sia x86 che x64.
  • Individua tutte le versioni di un'applicazione.
  • Scorrendo l'elenco delle voci ARP raccoglie:
    o Nome MSI/GUID.
    o Disinstallare i dettagli su ciascun MSI.
  • Registra ogni passaggio in un file di registro.

Che aspetto ha la sceneggiatura finale? Guarda lo screenshot qui sotto. Puoi anche Scarica esso dal Enhansoft sito web.

Utilizzo di PowerShell per disinstallare le applicazioni-Script finale

Come puoi distribuire questo script con ConfigMgr?

Innanzitutto, inizia modificando lo script. Sostituisci il nome dell'applicazione con quello che desideri disinstallare. Nella versione download è attualmente impostato su: Monitor*Informazioni*Reporting*

Ricorda che * è un carattere jolly utilizzato nella ricerca di voci ARP.

Secondo, crea un pacchetto e un programma per la tua riga di comando. Dovrebbe essere simile al seguente:
powershell.exe -ExecutionPolicy bypass -file MIR_Uninstallv9.ps1

Terzo, distribuire il pacchetto e il programma come faresti con qualsiasi altro programma.

Successivamente, ti mostrerò cosa ho fatto su uno dei miei computer di prova. Puoi vedere nello screenshot qui sotto che ho installato diverse copie di MIR.

Utilizzo di PowerShell per disinstallare applicazioni-Versioni MIR

Ho configurato il mio programma per la distribuzione silenziosa in background. Niente da vedere dal punto di vista dell'utente finale! Tuttavia, posso verificare che il PowerShell lo script è in esecuzione guardando il Task Manager. Dovrai essere veloce se vuoi fare anche questo! Lo script richiede solo da pochi secondi a pochi minuti per essere eseguito a seconda del numero di ARP che deve rimuovere.

Per inciso, puoi anche vedere che lo script è stato eseguito all'interno del Execmgr.log sul tuo computer di prova.

Utilizzo di PowerShell per disinstallare applicazioni-MIR disinstallato

Puoi vedere dallo screenshot qui sopra che dopo pochi minuti tutti i Monitorare la segnalazione delle informazioni Le voci ARP sono state rimosse. Ricorda, in alcuni casi, potresti volere che il tuo script riavvii anche i computer, quindi se vuoi farlo, aggiungi al tuo script il comando:
riavvia-computer -force

Spero che trovi utile questo post del blog. Se hai domande su come ho utilizzato PowerShell per disinstallare le applicazioni, non esitare a contattarmi @GarthMJ.

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