Hoe installeer je lettertypen op Windows met behulp van GPO en PowerShell?

Dit artikel behandelt de basisprincipes van het installeren van extra lettertypen op meerdere Windows-machines in een Active Directory-omgeving – met behulp van GPO of PowerShell-scripts. Mooi, toch? Maar soms is het volgen van deze stappen niet voldoende, vooral als de lettertypen niet verschijnen of als de GPO niet lijkt te werken. Windows kan nogal eigenwijs zijn als het gaat om lettertyperegistratie, en soms werken de aanpassingen in het register of het kopiëren van bestanden gewoon niet in één keer.

Mijn ervaring is dat als lettertypen niet goed worden geïnstalleerd, een goede eerste stap is om de registerinstellingen en bestandsrechten te controleren. Let ook op problemen met het vernieuwen van groepsbeleidsobjecten (GPO’s).Windows heeft de neiging om beleid niet direct of met vertraging toe te passen, dus het uitvoeren gpupdate /forcevan de opdrachtregel of het herstarten van het clientapparaat helpt vaak. Soms is het gewoon een kwestie van controleren of de lettertypebestanden toegankelijk zijn voor de client-pc’s en of de registervermeldingen correct zijn.

Lettertypen correct implementeren via groepsbeleid

Zorg ervoor dat de lettertypebestanden toegankelijk zijn vanaf de client-pc’s.

  • Kopieer de *.ttf- of *.otf-bestanden naar een gedeelde map waartoe alle clientcomputers toegang hebben. Maak een aparte gedeelde map aan of plaats de bestanden in een gemeenschappelijke SYSVOL-map op uw domeincontroller. Zorg ervoor dat de machtigingen zo zijn ingesteld dat alle computers de bestanden kunnen lezen.
  • Voorbeeld van een gedeeld pad: \\woshub.com\SYSVOL\woshub.com\scripts\Fonts

Deze stap is cruciaal, want als de clients geen toegang hebben tot de lettertypen, gebeurt er niets. In de Logboeken ziet u snel of er fouten zijn met betrekking tot bestandstoegang of de toepassing van groepsbeleidsobjecten.

Configureer GPO om lettertypebestanden te kopiëren en het register bij te werken.

  • Maak of bewerk in de Group Policy Management Console een GPO, bijvoorbeeld “GPO_InstallFonts”.
  • Ga naar Computerconfiguratie -> Voorkeuren -> Windows-instellingen -> Bestanden. Hier kunt u regels instellen om de lettertypebestanden rechtstreeks van de netwerkshare naar te kopiëren %WindowsDir%\Fonts. Gebruik een pad dat lijkt op \\woshub.com\SYSVOL\woshub.com\scripts\Fonts\Roboto-Black.ttfals bron en %Windir%\Fonts\Roboto-Black.ttfals bestemming.
  • Zorg ervoor dat de kopieeractie is ingesteld op ‘Vervangen’ of ‘Bijwerken’ om conflicten te voorkomen.
  • Vervolgens moet u het register bijwerken om het lettertype te registreren. Dit kunt u doen door een registervoorkeur aan te maken: Computerconfiguratie -> Voorkeuren -> Windows-instellingen -> Register. Stel een nieuwe sleutel in op HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts. De waarde moet overeenkomen met de bestandsnaam van het lettertype, bijvoorbeeld “Roboto-Black (TrueType)” = “Roboto-Black.ttf”.

Deze combinatie zorgt ervoor dat het lettertypebestand wordt gekopieerd en geregistreerd op alle clients wanneer het groepsbeleidsobject (GPO) wordt toegepast. Vergeet niet om gpupdate /forcehet GPO na het koppelen op een client uit te voeren, zodat het direct van kracht wordt.

Waarom deze truc werkt

Dit proces automatiseert in feite de handmatige installatie: het kopieert het lettertypebestand naar de map Lettertypen (waardoor Windows het installeert) en voegt vervolgens de juiste registervermelding toe zodat Windows het herkent. Soms is die registeraanpassing nodig voordat lettertypen in de lettertypenlijst verschijnen of apps ze herkennen. Geloof me, het handmatig kopiëren van bestanden en het bewerken van het register op elke computer is een hele klus, dus het gebruik van GPO bespaart je een hoop gedoe.

Lettertypen installeren met PowerShell: de handige snelkoppeling

Waarom je GPO’s wellicht wilt overslaan en in plaats daarvan een script wilt gebruiken

Als er slechts een handvol lettertypen hoeft te worden gepusht, of als de GPO-aanpak omslachtig aanvoelt, biedt PowerShell uitkomst. Vooral bij veel lettertypen is het sneller en flexibeler om een ​​script te schrijven dat alle bestanden doorloopt en het kopiëren en registreren in het register in één keer afhandelt. Bovendien kunt u logboekregistratie toevoegen om eventuele problemen eenvoudig op te sporen.

Voorbeeld van een PowerShell-script met uitleg

  • Het script kopieert alle *.ttf- en *.otf-bestanden vanuit een gedeelde map naar %SystemRoot%\Fonts(wat in principe is C:\Windows\Fonts).
  • Het voegt voor elk lettertype een vermelding toe aan het register via HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts, zodat Windows het lettertype herkent.
  • Het registreert elke installatiestap in een logbestand, handig voor het oplossen van vreemde problemen.

Een handige tip: u kunt dit script het beste eerst handmatig uitvoeren, of via Groepsbeleid of een geplande taak implementeren. Houd er rekening mee dat u soms, zelfs nadat het script is uitgevoerd, moet uitloggen en opnieuw inloggen of de computer opnieuw moet opstarten om de lettertypen volledig beschikbaar te zien in alle apps.

Oh, en als je alle toegevoegde lettertypen wilt verwijderen en alles terug wilt zetten naar de standaardinstellingen? Er is een manier om het register te wissen en aangepaste lettertypebestanden te verwijderen, maar dat is een ander verhaal.(Een link naar een handleiding daarvoor kan wellicht helpen.)

Omdat Windows nogal kieskeurig kan zijn over hoe lettertypen worden geïnstalleerd, is het soms een kwestie van uitproberen. Maar het belangrijkste is ervoor te zorgen dat de juiste machtigingen zijn ingesteld, dat de registervermeldingen correct zijn en dat de lettertypebestanden overal toegankelijk zijn.