{"id":113,"date":"2026-03-11T13:17:48","date_gmt":"2026-03-11T13:17:48","guid":{"rendered":"https:\/\/unen.nl\/?p=113"},"modified":"2026-03-11T13:17:48","modified_gmt":"2026-03-11T13:17:48","slug":"powershell-%f0%9f%94%a5-windows-firewall-automatisch-herstellen-met-intune-proactive-remediation","status":"publish","type":"post","link":"https:\/\/unen.nl\/?p=113","title":{"rendered":"Powershell &#8211; \ud83d\udd25 Windows Firewall automatisch herstellen met Intune Proactive Remediation"},"content":{"rendered":"\n<p>Een veilige Windows-omgeving begint bij een goede basis. E\u00e9n van de belangrijkste onderdelen daarvan is de <strong>Windows Firewall<\/strong>. Toch komt het in beheeromgevingen regelmatig voor dat deze uitgeschakeld raakt, bijvoorbeeld door:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>handmatige wijzigingen<\/li>\n\n\n\n<li>software-installaties<\/li>\n\n\n\n<li>troubleshooting door gebruikers<\/li>\n\n\n\n<li>scripts of tools van derden<\/li>\n<\/ul>\n\n\n\n<p>Wanneer de firewall uitstaat, kan een apparaat direct kwetsbaar worden voor ongewenste netwerkverbindingen. Daarom is het verstandig om automatisch te controleren of deze nog actief is.<\/p>\n\n\n\n<p>Met <strong>Microsoft Intune Proactive Remediation<\/strong> kun je dit volledig automatiseren. In deze blogpost laat ik zien hoe je dat eenvoudig oplost met twee PowerShell-scripts.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u2699\ufe0f Wat is Proactive Remediation?<\/h1>\n\n\n\n<p><strong>Proactive Remediation<\/strong> is een functie binnen <strong>Microsoft Intune Endpoint Analytics<\/strong> waarmee je automatisch problemen kunt detecteren \u00e9n oplossen.<\/p>\n\n\n\n<p>Het werkt altijd met twee scripts:<\/p>\n\n\n\n<p>1\ufe0f\u20e3 <strong>Detectiescript<\/strong><br>Controleert of een probleem aanwezig is.<\/p>\n\n\n\n<p>2\ufe0f\u20e3 <strong>Remediationscript (Fix script)<\/strong><br>Voert automatisch een herstelactie uit wanneer het detectiescript een probleem vindt.<\/p>\n\n\n\n<p>Dit zorgt ervoor dat apparaten <strong>automatisch compliant blijven zonder handmatige interventie<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udee1 Waarom firewallcontrole automatiseren?<\/h1>\n\n\n\n<p>De Windows Firewall beschermt systemen tegen ongewenst netwerkverkeer. Als deze uit staat, kan een apparaat kwetsbaar worden voor:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>malware die zich via het netwerk verspreidt<\/li>\n\n\n\n<li>ongeautoriseerde verbindingen<\/li>\n\n\n\n<li>open netwerkpoorten<\/li>\n\n\n\n<li>ongewenste remote toegang<\/li>\n<\/ul>\n\n\n\n<p>Door automatisch te controleren of de firewall nog actief is, voorkom je dat systemen onbewust onbeschermd blijven.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udd0d Detectiescript \u2013 Controleer of de firewall actief is<\/h1>\n\n\n\n<p>Het detectiescript controleert of de firewall actief is voor alle netwerkprofielen.<\/p>\n\n\n\n<p>Windows gebruikt drie firewallprofielen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Domain<\/strong> \u2013 bedrijfsnetwerk<\/li>\n\n\n\n<li><strong>Private<\/strong> \u2013 vertrouwde netwerken<\/li>\n\n\n\n<li><strong>Public<\/strong> \u2013 openbare netwerken<\/li>\n<\/ul>\n\n\n\n<p>Wanneer \u00e9\u00e9n van deze uit staat, geeft het script een foutcode terug zodat Intune weet dat remediation nodig is.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">try {<br>    $profiles = Get-NetFirewallProfile -Profile Domain,Private,Public    $disabledProfiles = $profiles | Where-Object { $_.Enabled -ne $true }    if ($null -ne $disabledProfiles -and $disabledProfiles.Count -gt 0) {<br>        $names = ($disabledProfiles | Select-Object -ExpandProperty Name) -join \", \"<br>        Write-Output \"Firewall staat uit voor profiel(en): $names\"<br>        exit 1<br>    }    Write-Output \"Firewall staat aan voor alle profielen.\"<br>    exit 0<br>}<br>catch {<br>    Write-Output \"Controle mislukt: $($_.Exception.Message)\"<br>    exit 1<br>}<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udd27 Remediation script \u2013 Firewall automatisch inschakelen<\/h1>\n\n\n\n<p>Wanneer het detectiescript een probleem vindt, wordt het remediation-script uitgevoerd.<\/p>\n\n\n\n<p>Dit script schakelt automatisch de firewall weer in voor alle netwerkprofielen.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># Remediation script - Windows Firewall inschakelen<br># Schakelt de firewall in voor Domain, Private en Public<br># Geldt voor alle gebruikers op het apparaattry {<br>    Set-NetFirewallProfile -Profile Domain,Private,Public -Enabled True    $profiles = Get-NetFirewallProfile -Profile Domain,Private,Public<br>    $disabledProfiles = $profiles | Where-Object { $_.Enabled -ne $true }    if ($null -ne $disabledProfiles -and $disabledProfiles.Count -gt 0) {<br>        $names = ($disabledProfiles | Select-Object -ExpandProperty Name) -join \", \"<br>        Write-Output \"Remediation niet volledig gelukt. Firewall staat nog uit voor profiel(en): $names\"<br>        exit 1<br>    }    $status = $profiles | Select-Object Name, Enabled<br>    Write-Output \"Remediation succesvol: Windows Firewall is ingeschakeld voor alle profielen.\"<br>    $status | Format-Table -AutoSize | Out-String | Write-Output<br>    exit 0<br>}<br>catch {<br>    Write-Output \"Remediation mislukt: $($_.Exception.Message)\"<br>    exit 1<br>}<\/pre>\n\n\n\n<p>SCA_ProactiveRemediation_Fix_Fi\u2026<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u2601\ufe0f Waarom dit perfect is voor Intune<\/h1>\n\n\n\n<p>Door deze scripts in <strong>Intune Proactive Remediation<\/strong> te gebruiken krijg je:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd04 Automatische herstelacties<\/h3>\n\n\n\n<p>Wanneer de firewall uit staat wordt deze automatisch opnieuw ingeschakeld.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udcca Rapportage in Intune<\/h3>\n\n\n\n<p>Je ziet precies:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>welke apparaten problemen hebben<\/li>\n\n\n\n<li>welke apparaten automatisch zijn hersteld<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udee0 Minder handmatig beheer<\/h3>\n\n\n\n<p>Beheerders hoeven niet meer handmatig systemen te controleren.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd10 Betere security baseline<\/h3>\n\n\n\n<p>Alle apparaten blijven automatisch voldoen aan je beveiligingsbeleid.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\ude80 Voorbeeld gebruik in Intune<\/h1>\n\n\n\n<p>Typische configuratie:<\/p>\n\n\n\n<p><strong>Script package<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Firewall Compliance Check<\/pre>\n\n\n\n<p><strong>Detectiescript<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Detect-FirewallStatus.ps1<\/pre>\n\n\n\n<p><strong>Remediation script<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Fix-FirewallStatus.ps1<\/pre>\n\n\n\n<p><strong>Schedule<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">1x per dag<\/pre>\n\n\n\n<p>Zo wordt elke dag automatisch gecontroleerd of de firewall nog actief is.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83e\udde0 Samenvatting<\/h1>\n\n\n\n<p>Met deze combinatie van scripts zorg je ervoor dat:<\/p>\n\n\n\n<p>\u2705 Windows Firewall altijd actief blijft<br>\u2705 Apparaten automatisch worden hersteld<br>\u2705 Security consistent blijft binnen je omgeving<br>\u2705 Intune automatisch problemen oplost<\/p>\n\n\n\n<p>Een simpele automatisering met een <strong>grote impact op endpoint security<\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Een veilige Windows-omgeving begint bij een goede basis. E\u00e9n van de belangrijkste onderdelen daarvan is de Windows Firewall.<\/p>\n","protected":false},"author":2,"featured_media":114,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,6],"tags":[],"class_list":["post-113","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-intune","category-powershell"],"_links":{"self":[{"href":"https:\/\/unen.nl\/index.php?rest_route=\/wp\/v2\/posts\/113","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unen.nl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unen.nl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unen.nl\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/unen.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=113"}],"version-history":[{"count":1,"href":"https:\/\/unen.nl\/index.php?rest_route=\/wp\/v2\/posts\/113\/revisions"}],"predecessor-version":[{"id":115,"href":"https:\/\/unen.nl\/index.php?rest_route=\/wp\/v2\/posts\/113\/revisions\/115"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/unen.nl\/index.php?rest_route=\/wp\/v2\/media\/114"}],"wp:attachment":[{"href":"https:\/\/unen.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=113"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unen.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=113"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unen.nl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}