Windows bevat een beveiligingsfunctie met de naam kernelcode-integriteit die uw systeem helpt beschermen door ervoor te zorgen dat kernelstuurprogramma's die op uw systeem worden geladen, integer worden uitgevoerd en cryptografisch zijn ondertekend door een instantie die door Microsoft wordt vertrouwd.

Als u dit bericht ziet, betekent dit dat een stuurprogramma of kernelmodussoftware niet correct is ondertekend of niet voldoet aan de ondertekeningsvereisten voor code-integriteit van Windows-kernel.

Windows-beveiliging dialoogvenster blokkeren dat wordt weergegeven wanneer een stuurprogramma wordt geblokkeerd

Windows vereist dat alle nieuwe stuurprogramma's worden ingediend en ondertekend via het WHCP-proces (Windows Hardware Compatibility Program). Eerder vertrouwde Windows-stuurprogramma's die zijn ondertekend door het nu verlopen programma voor kruisondertekening . Met de beveiligingsupdate van april 2026 worden deze stuurprogramma's echter niet meer standaard vertrouwd. De aankondiging is hier beschikbaar: https://go.microsoft.com/fwlink/?linkid=2356646.

Wat is het Windows-stuurprogrammabeleid?

Het Windows-stuurprogrammabeleid is een beleid in de Windows-kernel dat beperkt welke stuurprogramma's voor de kernelmodus op uw apparaat kunnen worden geladen. Wanneer deze functie actief is, mogen alleen de volgende stuurprogramma's worden geladen:

  1. Stuurprogramma's zijn correct aangemeld via het Microsoft WHCP-certificeringsproces

  2. Stuurprogramma's die worden weergegeven in het Windows-stuurprogrammabeleid staan een lijst met betrouwbare stuurprogramma's toe die zijn ondertekend door het kruisondertekende programma

Stuurprogramma's die niet zijn ondertekend door Microsoft WHCP of die worden weergegeven in het Windows-stuurprogrammabeleid, worden geblokkeerd op systemen die binnen het bereik zijn ingeschakeld.

Deze functie helpt u te beschermen tegen mogelijk onveilige of niet-geteste stuurprogramma's, waardoor het risico op malware, systeeminstabiliteit en beveiligingsproblemen wordt verminderd die worden veroorzaakt door niet-beveiligde stuurprogramma's en stuurprogramma-uitgevers.

Hoe werkt deze functie?

Het Windows-stuurprogrammabeleid maakt gebruik van een benadering in twee fasen, zoals Smart App Control , om de beveiliging op uw apparaat geleidelijk te verbeteren:

Evaluatiemodus (controle)

Wanneer de functie voor het eerst wordt geactiveerd, wordt deze gestart in de evaluatiemodus . In deze fase:

  • Stuurprogramma's die door het beleid worden geblokkeerd, worden gecontroleerd, maar mogen nog steeds worden geladen . Dit zorgt ervoor dat uw apparaat normaal blijft werken terwijl Windows bepaalt of afdwinging geschikt is voor uw systeem.

  • Windows houdt bij hoeveel stuurprogramma's op uw systeem worden beïnvloed door het beleid.

  • Als tijdens de evaluatie een stuurprogramma wordt gedetecteerd dat het beleid schendt, wordt de voortgang van de evaluatie opnieuw ingesteld . Dit betekent dat het aftellen naar afdwinging opnieuw begint, waardoor Windows meer tijd heeft om het stuurprogrammagebruik van uw systeem te bekijken.

Evaluatiecriteria

Windows bewaakt de volgende criteria om te bepalen wanneer uw apparaat klaar is voor afdwinging:

  • Uptime van het systeem: uw apparaat moet 100 uur actief gebruik hebben gehad.

  • Opstartsessies : het apparaat moet minstens 3 keer (2 keer op Windows Server) opnieuw zijn opgestart sinds de evaluatie is gestart.

  • Geen beleidsschendingen : als een stuurprogramma wordt geladen dat wordt geblokkeerd tijdens de evaluatieperiode, worden de uptime- en opstartsessietellers opnieuw ingesteld op nul , waardoor de evaluatieperiode wordt verlengd.

Als uw apparaat consistent stuurprogramma's laadt die voldoen aan beleid en voldoet aan deze criteria, wordt het systeem beschouwd als een goede kandidaat voor afdwinging.

Afdwingingsmodus

Zodra aan de evaluatiecriteria is voldaan, gaat Windows automatisch over naar de afdwingingsmodus . In deze fase:

  • Apparaten zijn beveiligd tegen stuurprogramma's die niet voldoen aan de ondertekeningsvereisten in het Windows-stuurprogrammabeleid.

  • Deze stuurprogramma's worden geblokkeerd voor het laden en genereren van diagnostische gegevens voor Microsoft om te controleren, en vermeldingen in het Windows-gebeurtenislogboek die u kunt controleren.

  • Een acceptatielijst met specifieke stuurprogramma's en uitgevers is opgenomen in het beleid, zodat bepaalde veelgebruikte verouderde stuurprogramma's die nog niet whcp-gecertificeerd zijn, kunnen blijven functioneren.

Zodra de afdwingingsmodus actief is, blijft het beleid van kracht bij het opnieuw opstarten.

Veelgestelde vragen

Als een stuurprogramma wordt geblokkeerd door dit beleid, ziet u mogelijk het volgende:

  • Een hardwareapparaat werkt niet goed.

  • Een randapparaat of onderdeel (printer, netwerkadapter, GPU, enzovoort) wordt niet herkend.

  • Een toepassing die afhankelijk is van een kernelstuurprogramma kan niet worden gestart.

U kunt controleren of het Windows-stuurprogrammabeleid verantwoordelijk is door de gebeurtenislogboeken code-integriteit te controleren met behulp van de volgende twee methoden.

Querycode-integriteitsevenementen handmatig    

  1. Klik met de rechtermuisknop op de knop Start en selecteer Logboeken .

  2. Navigeer in het linkerdeelvenster naar: Logboeken voor toepassingen en services > Microsoft > Windows > CodeIntegrity > Operationeel

  3. Zoek of filter het logboek op gebeurtenissen met deze id's:

  • Gebeurtenis-id 3076 : er is een stuurprogramma gecontroleerd (zou zijn geblokkeerd, maar is toegestaan omdat het beleid zich in de controlemodus bevindt).

  • Gebeurtenis-id 3077 : een stuurprogramma kan niet worden geladen omdat het het afdwingingsbeleid heeft geschonden.

Zoek in de gebeurtenisdetails naar het veld Beleids-id . Gebeurtenissen die door deze functie worden veroorzaakt, verwijzen naar een van de volgende beleids-GUID's:

  • Controlebeleid : {784C4414-79F4-4C32-A6A5-F0FB42A51D0D}

  • Beleid afdwingen : {8F9CB695-5D48-48D6-A329-7202B44607E3}

Querycode-integriteitsevenementen met PowerShell

U kunt PowerShell gebruiken om snel gebeurtenissen te vinden die betrekking hebben op deze functie:

# Find audit events (Event ID 3076) from the Windows Driver audit policy

$events = Get-WinEvent -LogName 'Microsoft-Windows-CodeIntegrity/Operational' -FilterXPath "*[System[EventID=3076]]" -ErrorAction SilentlyContinue |

Where-Object { $_.Message -like '*784C4414-79F4-4C32-A6A5-F0FB42A51D0D*' }

$results = $events | ForEach-Object {

$xml = [xml]$_.ToXml()

$data = $xml.Event.EventData.Data

[PSCustomObject]@{

TimeCreated = $_.TimeCreated

DriverName    = ($data | Where-Object { $_.Name -eq 'File Name' }).'#text'

ProductName = ($data | Where-Object { $_.Name -eq 'ProductName' }).'#text'

ParentProcess = ($data | Where-Object { $_.Name -eq 'Process Name' }).'#text'

}

}

$results | Select-Object DriverName, ProductName, ParentProcess -Unique | Format-Table -AutoSize -Wrap

# Find block events (Event ID 3077) from the Windows Driver enforced policy

$events = Get-WinEvent -LogName 'Microsoft-Windows-CodeIntegrity/Operational' -FilterXPath "*[System[EventID=3077]]" -ErrorAction SilentlyContinue |

Where-Object { $_.Message -like '*8F9CB695-5D48-48D6-A329-7202B44607E3*' }

$results = $events | ForEach-Object {

$xml = [xml]$_.ToXml()

$data = $xml.Event.EventData.Data

[PSCustomObject]@{

TimeCreated = $_.TimeCreated

DriverName    = ($data | Where-Object { $_.Name -eq 'File Name' }).'#text'

ProductName = ($data | Where-Object { $_.Name -eq 'ProductName' }).'#text'

ParentProcess = ($data | Where-Object { $_.Name -eq 'Process Name' }).'#text'

}

}

$results | Select-Object DriverName, ProductName, ParentProcess -Unique | Format-Table -AutoSize -Wrap

De gebeurtenisdetails bevatten de naam van het stuurprogramma dat is gecontroleerd of geblokkeerd en de naam van het proces waarmee is geprobeerd het stuurprogramma te laden, waarmee u kunt bepalen welk stuurprogramma of apparaat is beïnvloed.

Als u de apparaatgebruiker of IT-beheerder bent

  1. Controleer de gebeurtenislogboeken met behulp van de bovenstaande stappen om te bepalen welk stuurprogramma wordt geblokkeerd.

  2. Controleer Windows Update op bijgewerkte stuurprogramma's. WHCP-gecertificeerde, ondertekende stuurprogramma's zijn mogelijk al beschikbaar via Windows Update. Ga naar Instellingen > Windows Update > Geavanceerde opties > Optionele updates > Stuurprogramma-updates om te controleren op beschikbare stuurprogramma-updates.

  3. Ga naar de website van de fabrikant . Download de nieuwste versie van het stuurprogramma op de officiële ondersteuningspagina van de leverancier: nieuwere versies zijn waarschijnlijk eerder whcp-ondertekend.

4. Neem contact op met de hardware- of softwareleverancier die het stuurprogramma publiceert. Vraag hen of er een WHCP-gecertificeerde versie van het stuurprogramma beschikbaar is en waar ze deze kunnen openen. De meeste leveranciers certificeren hun stuurprogramma's al.

Als u een stuurprogramma-uitgever bent

Als u stuurprogramma's voor de kernelmodus voor Windows ontwikkelt en distribueert, moet u ervoor zorgen dat uw stuurprogramma's zijn aangemeld via het WHCP-proces:

  1. Word lid van het Windows Hardware Dev Center . Registreer u bij Windows Hardware Dev Center met een geldig EV-certificaat (Extended Validation) voor codeondertekening.

  2. Maak een inzending . Maak in het hardwaredashboard een nieuw product en dien uw stuurprogrammapakket in voor certificering.

  3. Voer de HLK-tests uit . Gebruik de Windows Hardware Lab Kit (HLK) om de vereiste tests uit te voeren voor uw stuurprogrammatype en apparaatcategorie.

  4. Verzend voor ondertekening . Nadat de tests zijn geslaagd, verzendt u uw HLK-resultaten samen met het stuurprogrammapakket. Microsoft ondertekent het stuurprogramma met het WHCP-certificaat.

  5. Distribueer het ondertekende stuurprogramma . Na ondertekening publiceert u het WHCP-gecertificeerde stuurprogramma via Windows Update en/of uw website.

Belangrijk: Stuurprogramma's die zijn ondertekend met alleen kruiscertificaten zonder WHCP-certificering, kunnen worden geblokkeerd op systemen met het Windows-stuurprogrammabeleid in de afdwingingsmodus.

Waarschuwing: Als u deze functie uitschakelt, vermindert u de beveiliging van uw apparaat. We raden u aan deze optie ingeschakeld te houden en samen te werken met stuurprogramma-uitgevers om stuurprogramma's met WHCP-handtekening te verkrijgen.

Het Windows-stuurprogrammabeleid is een ondertekend beleid voor code-integriteit dat is opgeslagen op de EFI-systeempartitie en wordt beveiligd door vroege opstartonderdelen van Windows. Voor het uitschakelen van de functie zijn de volgende handmatige stappen vereist, zodat schadelijke software die als beheerder wordt uitgevoerd, niet kan knoeien met de functie:

Stap 1: Beveiligd opstarten uitschakelen

  1. Start de computer opnieuw op en voer het UEFI-firmware-instellingenmenu (BIOS) in. U kunt dit meestal doen door tijdens het opstarten op een toets te drukken (zoals F2 , F10 , Del of Esc — raadpleeg de documentatie van de fabrikant van uw apparaat)

    1. U kunt ook in Windows naar Instellingen > Systeemherstel > > Geavanceerd opstarten > Nu opnieuw opstarten . Kies vervolgens Problemen oplossen > Geavanceerde opties > UEFI-firmware-instellingen > opnieuw opstarten .

  2. Zoek in de firmware-instellingen de optie Beveiligd opstarten (meestal op het tabblad Beveiliging of Opstarten ).

  3. Stel Beveiligd opstarten in op Uitgeschakeld .

  4. Sla wijzigingen op en sluit de firmware-instellingen af.

Stap 2: verwijder de beleidsbestanden van de EFI-systeempartitie

1. Open PowerShell als beheerder .

2. Koppel de EFI-systeempartitie door uit te voeren:

mountvol S: /s

U kunt elke beschikbare stationsletter gebruiken in plaats van 'S:'.

3. Verwijder het bestand met het controlebeleid:

del S:\EFI\Microsoft\Boot\CiPolicies\Active\{784C4414-79F4-4C32-A6A5-F0FB42A51D0D}.cip

4. Als het handhavingsbeleid ook aanwezig is, verwijdert u het:

del S:\EFI\Microsoft\Boot\CiPolicies\Active\{8F9CB695-5D48-48D6-A329-7202B44607E3}.cip

5. Controleer ook op de beleidsregels en verwijder deze uit de Windows-systeemmap:

del %windir%\System32\CodeIntegrity\CiPolicies\Active\{784C4414-79F4-4C32-A6A5-F0FB42A51D0D}.cip

del %windir%\System32\CodeIntegrity\CiPolicies\Active\{8F9CB695-5D48-48D6-A329-7202B44607E3}.cip

6. Ontkoppel de EFI-partitie:

mountvol S: /d

Stap 3: start de computer opnieuw op

Start uw apparaat opnieuw op om de wijzigingen door te voeren. Na het opnieuw opstarten is het beleid niet meer actief en mogen alle ondertekende stuurprogramma's, inclusief stuurprogramma's zonder WHCP-certificering, worden geladen.

Stap 4: Beveiligd opstarten opnieuw inschakelen

Nadat u de beleidsbestanden hebt verwijderd, schakelt u Beveiligd opstarten opnieuw in uw UEFI-firmware-instellingen in om andere Beveiligd opstarten-beveiligingen te behouden.

De functie wordt gestart in de evaluatiemodus , waar niet-gecertificeerde stuurprogramma's worden vastgelegd, maar niet worden geblokkeerd. Nadat uw systeem voldoet aan de evaluatiecriteria (voldoende uptime en opnieuw opstarten zonder beleidsschendingen), wordt het beleid automatisch overgezet naar de afdwingingsmodus en worden stuurprogramma's die niet met WHCP zijn ondertekend, geblokkeerd. Dit kan ertoe leiden dat stuurprogramma's die eerder werkten, stoppen met laden.

Er is momenteel geen manier om het beleid voor afzonderlijke stuurprogramma's te omzeilen. U kunt de functie volledig uitschakelen (zie hierboven) of ( bij voorkeur ) contact opnemen met de uitgever van het stuurprogramma en deze vragen om een door WHCP ondertekende versie van het stuurprogramma op te geven.

Deze functie is alleen van toepassing op stuurprogramma's voor de kernelmodus . Gebruikersmodustoepassingen worden niet beïnvloed door dit beleid.

U kunt dit controleren door de volgende opdrachten uit te voeren als beheerder in PowerShell:

$evalPolicy = (citool -lp -json | ConvertFrom-Json).Policies | Where-Object { $_.PolicyID -eq "784c4414-79f4-4c32-a6a5-f0fb42a51d0d" }

$enforcedPolicy = (citool -lp -json | ConvertFrom-Json).Policies | Where-Object { $_.PolicyID -eq "8F9CB695-5D48-48D6-A329-7202B44607E3" }

if ($enforcedPolicy.IsEnforced -and $enforcedPolicy.IsAuthorized) { Write-Host "✅ The feature is in enforcement mode" -ForegroundColor Green }

elseif($evalPolicy.IsEnforced -and $evalPolicy.IsAuthorized) { Write-Host "✅ The feature is in evaluation mode" -ForegroundColor Green }

else { Write-Host "❌ The feature is not available on this system" -ForegroundColor Red }

Ja: Windows Server serverplatforms van 2025 en nieuwer. Op Windows Server is de vereiste voor de opstartsessie echter 2 opnieuw opstarten (vergeleken met 3 op clientversies). Alle andere criteria zijn hetzelfde.

Als u Windows opnieuw instelt of opnieuw installeert, wordt de functie opnieuw gestart in de evaluatiemodus. De evaluatiemeteritems worden opnieuw ingesteld en de overgang naar afdwinging begint opnieuw vanaf het begin.

Meer hulp nodig?

Als u problemen blijft ondervinden met een geblokkeerd stuurprogramma, gaat u naar de Microsoft Community-forums of neemt u contact op met Microsoft-ondersteuning .

We ontvangen graag uw feedback over deze functie. Ga als volgende te werk om uw ervaring te delen:

  1. Open in Windows de Feedback-hub (druk op Win + F ).

2. Selecteer in stap 2: kies een categorie de optie Beveiliging en privacy > App-beheer .

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.