Updaten van specifieke applicaties? Eenvoudiger door ConfigMgr en System Center updates Publishing. Mits juist geconfigureerd!

Veel bedrijven lopen tegen het zelfde probleem aan; Microsoft System Center Configuration manager (ConfigMgr) is in gebruik. Het up2date houden van applicaties blijft echter een probleem, voornamelijk op machines waarop gebruikers zelf software kunnen installeren. In dit blog, geschreven voor techneuten, geef ik mijn visie en methode weer waarop dit probleem opgelost kan worden.

Microsoft ConfigMgr versie 1809 heeft een nieuwe functie waarmee Microsoft het mogelijk gemaakt heeft om deze applicaties op een eenvoudige manier te updaten. Het gebruikt de zelfde techniek als WSUS en het software update point (SUP) binnen ConfigMgr.


Er zijn meerdere methodes om software van derde partijen zoals Google Chrome, Mozilla Firefox, Java etc. op een eenvoudige manier geupdate te houden met ConfigMgr. Voorbeelden hiervan zijn betaalde diensten zoals PatchMyPc of software die integreren in ConfigMgr waaronder Ivanti Shavlik en SolarWinds Patchmanager. Het grote probleem met dergelijke diensten en software is dat de mate van controle over deze updates minimaal is. Tevens is het veelal niet mogelijk om software die niet in dergelijke oplossingen zit hierin te integreren; neem als voorbeeld een op maat gemaakt softwarepakket.

Door de integratie van System Center Updates Publisher (SCUP) in Configuration manager is het nu mogelijk om volledige controle te hebben over updates, inclusief die van op maat gemaakte software. Hoe je ermee om moet gaan, leg ik uit:

Vereisten

De volgende vereisten zijn benodigd

·       ConfigMgr Current Branch 1806  of hoger moet geïnstalleerd zijn;

·       Een interne Certificate authority moet in de omgeving aanwezig zijn met rechten om templates aan te passen en beschikbaar te stellen;

·       WSUS / SUP is geïnstalleerd en geconfigureerd. WSUS moet gebruik maken van SSL Encryptie;

 

Voor meer informatie voor het configureren van SSL voor de SUP en WSUS: https://docs.microsoft.com/en-us/previous-versions/system-center/configuration-manager-2007/bb633246(v=technet.10)

In de ConfigMgr console moet de functie “Enable third party update support on clients” worden aangezet. Deze kan gevonden worden onder: “Administration -> Updates and servicing -> Features”

Wanneer de update van ConfigMgr geïnstalleerd wordt zal er ook worden gevraagd om deze functie te activeren.

Software signeren met een certificaat

Alle software die met deze methode ge-update wordt, moet worden gesigneerd met een certificaat. Een interne CA is benodigd om dit certificaat te genereren Dit om software die niet voorzien is van een certificaat handmatig te signeren.

Het is ook mogelijk om gebruik te maken van een externe CA zoals Globalsign of Comodo om dit certificaat te genereren. Deze certificaten kosten circa €100 per jaar. Voor dit blog wordt gebruik gemaakt van een interne CA.

Laten we beginnen om een aantal zaken te configureren en een applicatie toe te voegen die niet is gesigneerd. Voor reeds gesigneerde applicaties kunnen een aantal stappen worden overgeslagen. Voor dit voorbeeld maken we gebruik van 7-zip versie 18.5.0.0.

Alle clients moeten geconfigureerd zijn met de instelling “Allow signed content from intranet Microsoft update service location” via Group Policy. Deze instelling kan worden gevonden onder “Computer Configuration -> Windows Components -> Windows Update”

Op de CA moet de template “software signing” worden aangepast. Zorg ervoor dat de private key geëxporteerd kan worden en maak dit template beschikbaar om aan te vragen.
Vraag dit certificaat aan (als een gebruiker) en exporteer deze vervolgens, inclusief private key als een PFX bestand.

Importeer dit certificaat in de computer store (op de ConfigMgr server) in de trusted publishers container. Dit is benodigd om software te kunnen publiceren naar WSUS.

Download en installeer Software Center Updates Publisher. Deze software wordt gebruikt voor het beschikbaar maken van de software update. De download kan hier worden gevonden: https://www.microsoft.com/en-us/download/details.aspx?id=55543

Binnen een onderdeel van de Windows ADK (Windows Imaging and Configuration Designer) is een executable “signtool.exe”. Deze tool kan worden gebruikt om applicaties en MSI’s te signeren met het eerder gegenereerde PSX bestand. Om het makkelijk te maken start de “deployment and imaging tools environment”. Hierin is de ADK folder toegevoegd aan het path variable. De update moet worden gesigneerd alvorens deze uitgerold kan worden naar WSUS / ConfigMgr.

 

Het commando om de update te signeren is simpel:
Signtool /sign /f “locatie van het PFX bestand” /p “private key wachtwoord” “te signeren bestand”.

De applicatie is nu met een certificaat gesigneerd. Dit kan worden gecontroleerd met “signtool /a”.

Er is nog een mogelijkheid om te kijken of een applicatie gesigneerd is, dat kan middels de eigenschappen van een bestand onder het tabblad “digital Signatures”.

Voor meer informatie over de signtool kan de volgende Microsoft Docs pagina bekeken worden:
https://docs.microsoft.com/en-us/dotnet/framework/tools/signtool-exe

Mocht het nodig zijn om aanpassingen te doen aan de MSI database zoals snelkoppelingen of register sleutels kan de MSI worden aangepast met behulp van ORCA.

Andere packaging tools zoals Advanced Installer of Flexera AdminStudio kunnen ook gebruikt worden om de installatie aan te passen en met een certificaat te signeren.

Update klaar maken voor de uitol

Kopieer de update naar de software sources share.
Start de SCUP tool. Ga naar opties en klik op “enable publishing to an update server” en in het tabblad ConfigMgr Server op “Enable Configuration Manager Integration”.

In het Update Server tabblad blader naar het PFX bestand welke eerder is gebruikt voor het signeren van de update. Klik vervolgens op “Create”. Er zal gevraagd worden om het certificaatwachtwoord op te geven.

Klik in het hoofdmenu van SCUP op “Create Update”.

Blader voor de MSI met de update van de applicatie in de sources share en geef in het download URL het volledige UNC pad op naar de MSI met de update.

Vul alle gegevens in over deze update. Deze zullen zichtbaar zijn in ConfigMgr en indien ingesteld ook voor de gebruiker in het Software Center.

In de volgende schermen zal er om gegevens worden gevraag zoals de benodigde requirements om deze update te installeren en welke (oude) update deze zal vervangen. Dit gebeurd op de zelfde methode als Microsoft doet met de KB updates.

Er moeten parameters worden opgegeven op basis waarvan ConfigMgr zal controleren of de update benodigd is of dat deze reeds is geïnstalleerd. Dit kunnen regels zijn zoals ‘programma.exe’ moet versie x.x zijn of een registersleutel moet een specifieke waarde hebben.

 

In bovenstaand voorbeeld zal worden in het register worden gekeken waar 7zFM.exe aanwezig is (de hoofdapplicatie van 7-zip) en of de versie lager is dan 18.5.0.0.

In het volgende scherm (Installed) doen we een zelfde check alleen dan of 7zFM.exe versie 18.5.0.0 is. Op deze manier word gekeken of de update al geïnstalleerd is.

Zorg ervoor dat er genoeg parameters zijn waarop gecontroleerd wordt om er zeker van te zijn dat alleen machines de update krijgen die deze nodig hebben. Werk met meerdere parameters en met statements (“and”, “or” en “not”).

Klik door de volgende paar schermen. De update is nu klaar om gepubliceerd te worden naar de WSUS omgeving. Wanneer de update is gepubliceerd kan deze worden geïmporteerd in ConfigMgr.


Update publiceren naar ConfigMgr

Selecteer de 7-Zip applicatie en klik op “Publish”

In het publish scherm, selecteer “Full Content”. Klik vervolgens door de volgende schermen. Op het einde zal er een popup komen met een beveiligingswaarschuwing over het accepteren van deze catalogus. Accepteer de catalogus en de applicatie zal gepubliceerd zijn naar WSUS.

Vanaf dit punt is alleen nog de ConfigMgr Console benodigd om de applicatie te publiceren naar de werkstations.

Ga in de ConfigMgr console naar “Administration -> Site configuration -> Sites”

Klik op de naam van de site. Ga settings -> Configure site components -> Software update point.

 

Klik op het tabblad “Third party updates”, “enable third party updates” en klik op apply.


Ga naar “Software Library -> Software Updates -> All Software Updates”.
Synchroniseer alle software updates (button op de balk aan de bovenzijde). Het SUP moet een keer volledig gesynchroniseerd worden om de nieuwe software te herkennen. Er zal later een 2e keer gesynchroniseerd worden om de applicatie beschikbaar te krijgen.

Ga terug naar het vorige scherm (software update point component properties) en ga naar het “Products tabblad”.

De applicatie update is nu aanwezig in de ConfigMgr database en kan in het products tabblad worden gevonden. Markeer de applicatie en laat de SUP nogmaals synchroniseren met WSUS.

De applicatie kan worden uitgerold wanneer de synchronisatie met WSUS is voltooid op de zelfde manier als dat er voor andere (Microsoft) updates word gedaan.

Conclusie
De integratie van System Center Updates Manager in System Center Configuration Manager is een goede stap van Microsoft. Het updaten van applicaties is op deze manier eenvoudiger geworden specifiek voor werkplekken waar gebruikers zelf software kunnen installeren. De initiële configuratie kan wat voeten in de aarde hebben, echter wanneer deze is voltooid zal het update proces een stuk kunnen versimpelen.

Uiteraard zijn er specialisten van ICT-Partners beschikbaar wanneer hulp nodig is.

 

 

 

Over de auteur

Meer informatie?

Wij helpen u graag verder

Met ruim 100 consultants zijn wij dagelijks bezig met het oplossen van complexe vraagstukken rondom werkplek, datacenter en beheer van uw ICT.

Deel dit artikel

Add comment