"Toccare" la politica del gruppo di distribuzione del software in modo programmato o tramite script

Ho un'applicazione interna che utilizza Windows Installer. Ogni aggiornamento a questa applicazione è un "upgrade principale" (codice prodotto diverso, lo stesso codice di aggiornamento) e chiama RemoveExistingProducts. (In effetti, ciò significa che each volta che viene creata una nuova build, è ansible installarlo semplicemente facendo clic sul file MSI, poiché disinstallerà la vecchia versione e quindi installerà la nuova versione.)

Attualmente è implementata tramite una configuration della macchina in politica del gruppo. Qualsiasi GPO collegato installerà il software all'avvio successivo, e questo funziona ottimamente.

  • La distribuzione della printingnte tramite Criteri di gruppo non funziona su un singolo sistema
  • Ho distribuito Flash Player tramite una politica di installazione del software. Come aggiornare?
  • Sistema di distribuzione e aggiornamento software completamente automatizzato
  • Utilizzo di rsync per caricare rapidamente un file simile a un altro file
  • Qual è il tuo metodo di provisioning? (fuori dal cartone -> metallo nudo -> server completamente funzionale)?
  • Che cosa hai sul tuo server PXE?
  • Ho anche un server di integrazione continua (TeamCity) che costruisce e gestisce i test per questo software each volta che ci impegniamo qualcosa al controllo di origine e "lo mettiamo" per l'implementazione. Posso anche copiare il file MSI appena creato nella condivisione di networking in preparazione per la distribuzione.

    Purtroppo, non vedo un modo per dire alla GPO di re-implementare il file MSI appena aggiornato in modo programmato come parte del mio process di integrazione.

    Se ho appena overwited il file MSI esistente e non touch l'object Criteri di gruppo, la modifica non viene notata da macchine che hanno installato il vecchio MSI e le macchine più recenti fanno fuori quando non riescono a trovare il file MSI con il codice del prodotto in lo script generato dall'Editor di gestione dei criteri di gruppo. Bene, ha senso.

    Lo stesso comportmento sembra accadere se sovrascrivere appena il file MSI esistente e fare clic su "Applicazione redeploy" in GPME. Ancora una volta, sembriamo infelice che stiamo cercando di ridisegnare con un file MSI il cui codice pacchetto non corrisponde a quello dello script generato dal GPME. Bene, ha senso.

    Che cosa fa il lavoro facendo clic con il button destro del pacchetto di installazione in GPME, colpendo "Rimuovi immediatamente" e quindi aggiungendo il pacchetto di installazione proprio indietro – che crea un nuovo script * .as e il vecchio pacchetto viene rimosso e il nuovo pacchetto viene installato al prossimo avvio. C'è qualche modo per farlo tramite uno script batch che posso aggiungere al process di build del mio server di integrazione?

    Grazie!

    Aggiornamento del follow-up

    Dopo aver esaminato le osservazioni di Evan, ho finito per scrivere un piccolo script batch che funziona all'avvio . Ho anche scritto una piccola utility chiamata msicheck che determina se un determinato pacchetto MSI è installato. Questo ha soddisfatto i miei biseach abbastanza bene ed è un lontano grido migliore di vagare attraverso le pagine di una specifica LDAP! =)

  • L'installazione del driver non funziona quando si distribuisce le printingnti tramite GPP
  • Criteri di gruppo: le unità mappate non vengono caricate, Windows Server 2012 Active Directory e Windows Pro 10
  • Può la GPO di directory triggers applicarsi a un object di gruppo?
  • Ho distribuito Flash Player tramite una politica di installazione del software. Come aggiornare?
  • Installazione di Lync 2013 Standard in silenzio
  • Come ereditare da GPO di dominio predefinito?
  • One Solution collect form web for “"Toccare" la politica del gruppo di distribuzione del software in modo programmato o tramite script”

    Ho avuto il desiderio di fare qualcosa di simile e ho fatto qualche ricerche sul tema in passato.

    Non esiste un'API esposta che ho potuto trovare per fare ciò che esegue l'Editor dei criteri di gruppo per creare i file dello script di pubblicazione di applicazioni (.aas) e i record corrispondenti in AD. L'API di Criteri di gruppo di PowerShell consente di configurare le impostazioni basate sul Registro di sistema, ma non le impostazioni per altre estensioni di criteri di gruppo.

    C'è ora un riferimento all'estensione del protocollo di installazione del software di Criteri di gruppo (grazie all'intesa contro la fiducia dell'UE) e suppongo che tu possa provare a rilanciare il motore per eseguire le assegnazioni. Le transactions LDAP necessarie per eseguire l'aggiunta del pacchetto e il formato dei file .aas sono presenti. Sembra un po 'scoraggiante (anche se divertente) …

    Francamente, la vostra attenzione per i dettagli re: test di distribuzione è da lodare. Vorrei scrivere software che i miei clienti utilizzano. Il fatto che stai utilizzando solo Windows Installer ti mette davanti alla confezione. Che tu sai di implementare il software di Criteri di gruppo e stai effettivamente testando mi fa arrabbiare! Vorrei che una certa frazione misurabile degli sviluppatori si occupasse tanto quanto è chiaro che lo fai.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.