{"id":208365,"date":"2024-01-03T09:52:03","date_gmt":"2024-01-03T09:52:03","guid":{"rendered":"https:\/\/www.ninjaone.com\/script-hub\/activer-ou-desactiver-les-profils-du-pare-feu-windows\/"},"modified":"2024-03-04T18:45:24","modified_gmt":"2024-03-04T18:45:24","slug":"activer-ou-desactiver-les-profils-du-pare-feu-windows","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/fr\/script-hub\/activer-ou-desactiver-les-profils-du-pare-feu-windows\/","title":{"rendered":"Script PowerShell pour activer ou d\u00e9sactiver les profils du pare-feu Windows"},"content":{"rendered":"<p>Garantir la s\u00e9curit\u00e9 des r\u00e9seaux et des syst\u00e8mes est fondamental. L&rsquo;une des principales d\u00e9fenses dans un environnement Windows est le pare-feu Windows. Il contr\u00f4le le flux du trafic entrant et sortant et joue ainsi le r\u00f4le de gardien. Cet article pr\u00e9sente un <strong>script PowerShell qui <\/strong><strong>fournit<\/strong><strong> une m\u00e9thode simplifi\u00e9e pour activer ou d\u00e9sactiver les profils du pare-feu Windows<\/strong>, qui est une t\u00e2che cruciale pour les professionnels de l&rsquo;informatique.<\/p>\n<h2>Contexte<\/h2>\n<p>Le script pr\u00e9sent\u00e9 est con\u00e7u pour activer ou d\u00e9sactiver tous les profils du pare-feu Windows, \u00e0 savoir Domaine, Public et Priv\u00e9. Ces profils d\u00e9terminent les param\u00e8tres et les r\u00e8gles appliqu\u00e9s en fonction du type de r\u00e9seau auquel un ordinateur est connect\u00e9. Pour les fournisseurs de services g\u00e9r\u00e9s (MSP) et les professionnels de l&rsquo;informatique, l&rsquo;importance d&rsquo;un outil permettant de basculer rapidement entre ces profils est inestimable. Qu&rsquo;il s&rsquo;agisse de d\u00e9pannage, de renforcement de la s\u00e9curit\u00e9 ou de configuration du r\u00e9seau, ce script offre une solution rapide.<\/p>\n<h2>Le script<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\">#Requires -Version 5.1\r\n\r\n&lt;#\r\n.SYNOPSIS\r\n    Enable or disable all Windows Firewall profiles(Domain, Public, Private).\r\n.DESCRIPTION\r\n    Enable or disable all Windows Firewall profiles(Domain, Public, Private).\r\n.EXAMPLE\r\n     -Disable\r\n    Disables all Windows Firewall profiles(Domain, Public, Private).\r\n.EXAMPLE\r\n     -Enable\r\n    Enables all Windows Firewall profiles(Domain, Public, Private).\r\n.EXAMPLE\r\n     -Enable -BlockAllInbound\r\n    Enables all Windows Firewall profiles(Domain, Public, Private).\r\n    Blocks all inbound traffic on the Domain, Public, Private profiles\r\n.OUTPUTS\r\n    String[]\r\n.OUTPUTS\r\n    PSCustomObject[]\r\n.NOTES\r\n    Minimum OS Architecture Supported: Windows 10, Windows Server 2016\r\n    Release Notes:\r\n    Initial Release\r\nBy using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https:\/\/www.ninjaone.com\/terms-of-use.\r\n    Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms. \r\n    Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party. \r\n    Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider. \r\n    Warranty Disclaimer: The script is provided \u201cas is\u201d and \u201cas available\u201d, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations. \r\n    Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks. \r\n    Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script. \r\n    EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).\r\n.COMPONENT\r\n    ProtocolSecurity\r\n#&gt;\r\n\r\n[CmdletBinding(DefaultParameterSetName = \"Enable\")]\r\nparam (\r\n    [Parameter(\r\n        Mandatory = $true,\r\n        ParameterSetName = \"Enable\"\r\n    )]\r\n    [Switch]\r\n    $Enable,\r\n    [Parameter(\r\n        Mandatory = $true,\r\n        ParameterSetName = \"Disable\"\r\n    )]\r\n    [Switch]\r\n    $Disable,\r\n    [Parameter(\r\n        ParameterSetName = \"Enable\"\r\n    )]\r\n    [Switch]\r\n    $BlockAllInbound\r\n)\r\n\r\nbegin {\r\n    function Test-IsElevated {\r\n        $id = [System.Security.Principal.WindowsIdentity]::GetCurrent()\r\n        $p = New-Object System.Security.Principal.WindowsPrincipal($id)\r\n        $p.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator)\r\n    }\r\n}\r\nprocess {\r\n    if (-not $(Test-IsElevated)) {\r\n        Write-Error -Message \"Access Denied. Please run with Administrator privileges.\"\r\n        exit 1\r\n    }\r\n    if ($(Get-Command \"Get-NetFirewallProfile\" -ErrorAction SilentlyContinue).Name -like \"Get-NetFirewallProfile\") {\r\n        # Use Get-NetFirewallProfile if available\r\n        try {\r\n            $NetFirewallSplat = @{\r\n                Profile     = @(\"Domain\", \"Public\", \"Private\")\r\n                Enabled     = $(if ($Enable) { \"True\" }elseif ($Disable) { \"False\" })\r\n                ErrorAction = \"Stop\"\r\n            }\r\n            if ($Enable -and $BlockAllInbound) {\r\n                $NetFirewallSplat.Add('DefaultInboundAction', 'Block')\r\n                $NetFirewallSplat.Add('DefaultOutboundAction', 'Allow')\r\n            }\r\n            Set-NetFirewallProfile @NetFirewallSplat\r\n            \r\n        }\r\n        catch {\r\n            Write-Error $_\r\n            Write-Host \"Failed to turn $(if ($Enable) { \"on\" }elseif ($Disable) { \"off\" }) the firewall.\"\r\n            exit 1\r\n        }\r\n        # Proof of work\r\n        Get-NetFirewallProfile -ErrorAction Stop | Format-Table Name, Enabled        \r\n    }\r\n    else {\r\n        # Fall back onto netsh\r\n        netsh.exe AdvFirewall set AllProfiles state $(if ($Enable) { \"on\" }elseif ($Disable) { \"off\" })\r\n        if ($LASTEXITCODE -gt 0) { exit $LASTEXITCODE }\r\n        netsh.exe AdvFirewall set DomainProfile state $(if ($Enable) { \"on\" }elseif ($Disable) { \"off\" })\r\n        if ($LASTEXITCODE -gt 0) { exit $LASTEXITCODE }\r\n        netsh.exe AdvFirewall set PrivateProfile state $(if ($Enable) { \"on\" }elseif ($Disable) { \"off\" })\r\n        if ($LASTEXITCODE -gt 0) { exit $LASTEXITCODE }\r\n        netsh.exe AdvFirewall set PublicProfile state $(if ($Enable) { \"on\" }elseif ($Disable) { \"off\" })\r\n        if ($LASTEXITCODE -gt 0) { exit $LASTEXITCODE }\r\n        \r\n        if ($Enable -and $BlockAllInbound) {\r\n            try {\r\n                netsh.exe AdvFirewall set DomainProfile FirewallPolicy \"BlockInbound,AllowOutbound\"\r\n                if ($LASTEXITCODE -gt 0) { exit $LASTEXITCODE }\r\n                netsh.exe AdvFirewall set PrivateProfile FirewallPolicy \"BlockInbound,AllowOutbound\"\r\n                if ($LASTEXITCODE -gt 0) { exit $LASTEXITCODE }\r\n                netsh.exe AdvFirewall set PublicProfile FirewallPolicy \"BlockInbound,AllowOutbound\"\r\n                if ($LASTEXITCODE -gt 0) { exit $LASTEXITCODE }\r\n            }\r\n            catch {\r\n                Write-Error $_\r\n                Write-Host \"Could not set Block All Inbound Traffic to 1\"\r\n            }\r\n        }\r\n        # Proof of work\r\n        netsh.exe AdvFirewall show AllProfiles state\r\n        if ($LASTEXITCODE -gt 0) { exit $LASTEXITCODE }\r\n    }\r\n}\r\nend {}<\/pre>\n<p>&nbsp;<\/p>\n\n<div class=\"in-context-cta\"><p>Acc\u00e9dez \u00e0 plus de 700 scripts dans le Dojo NinjaOne<\/p>\n<p><a href=\"https:\/\/www.ninjaone.com\/fr\/phase-de-test-gratuit\/\">Obtenez l&rsquo;acc\u00e8s<\/a><\/p>\n<\/div>\n<h2>R\u00e9sum\u00e9 d\u00e9taill\u00e9<\/h2>\n<p>\u00c0 la base, le script v\u00e9rifie la pr\u00e9sence de privil\u00e8ges d&rsquo;administrateur, ce qui est essentiel puisque la modification des param\u00e8tres du pare-feu n\u00e9cessite des droits \u00e9lev\u00e9s. Il v\u00e9rifie ensuite la pr\u00e9sence de la cmdlet Get-NetFirewallProfile, une commande PowerShell moderne permettant de g\u00e9rer les profils du pare-feu.<\/p>\n<p>Si cette cmdlet est disponible, le script l&rsquo;utilise pour activer ou d\u00e9sactiver les profils sp\u00e9cifi\u00e9s. Une option permettant de bloquer tout le trafic entrant, tout en autorisant le trafic sortant, ajoute une couche suppl\u00e9mentaire de s\u00e9curit\u00e9.<\/p>\n<p>En l&rsquo;absence de la cmdlet Get-NetFirewallProfile, le script revient \u00e0 l&rsquo;ancien outil de ligne de commande netsh.exe.<\/p>\n<h2>Cas d&rsquo;utilisation potentiels<\/h2>\n<p>Prenons l&rsquo;exemple d&rsquo;une professionnelle de l&rsquo;informatique, Jane, qui travaille dans une grande entreprise. Ils introduisent une nouvelle application, mais lors des tests, ils constatent que l&rsquo;application ne peut pas communiquer avec son serveur. Suspectant un probl\u00e8me de pare-feu, Jane utilise ce script pour d\u00e9sactiver temporairement les profils du pare-feu, tester l&rsquo;application, puis les r\u00e9activer rapidement. Cette action rapide permet de diagnostiquer le probl\u00e8me sans navigation manuelle.<\/p>\n<h2>Comparaisons<\/h2>\n<p>Le script fournit une approche programmatique de la gestion des profils du pare-feu Windows. Les alternatives comprennent l&rsquo;ajustement manuel via l&rsquo;interface graphique du pare-feu Windows ou l&rsquo;utilisation d&rsquo;objets de strat\u00e9gie de groupe (GPO) pour les machines reli\u00e9es \u00e0 un domaine. Cependant, tous deux n&rsquo;ont pas le caract\u00e8re imm\u00e9diat de ce script.<\/p>\n<h2>FAQ<\/h2>\n<ul>\n<li>Puis-je ex\u00e9cuter ce script sur n&rsquo;importe quelle machine Windows ?<br \/>\nIl est con\u00e7u pour Windows 10 et Windows Server 2016 et sup\u00e9rieur.<\/li>\n<li>Ai-je besoin d&rsquo;autorisations sp\u00e9ciales pour ex\u00e9cuter ce script ?<br \/>\nOui, des privil\u00e8ges d&rsquo;administrateur sont n\u00e9cessaires.<\/li>\n<\/ul>\n<h2>Implications en mati\u00e8re de s\u00e9curit\u00e9<\/h2>\n<p>La possibilit\u00e9 de modifier rapidement les profils du pare-feu est une arme \u00e0 double tranchant. Leur d\u00e9sactivation, m\u00eame momentan\u00e9e, peut exposer les syst\u00e8mes \u00e0 des menaces. Il est essentiel de comprendre les implications en mati\u00e8re de s\u00e9curit\u00e9 et de veiller \u00e0 ce que les syst\u00e8mes restent prot\u00e9g\u00e9s.<\/p>\n<h2>Recommandations<\/h2>\n<ul>\n<li>Testez d&rsquo;abord le script dans un environnement contr\u00f4l\u00e9.<\/li>\n<li>Si vous d\u00e9sactivez le pare-feu pour le diagnostic, r\u00e9activez-le imm\u00e9diatement apr\u00e8s.<\/li>\n<li>Examinez r\u00e9guli\u00e8rement les r\u00e8gles du pare-feu pour s&rsquo;assurer qu&rsquo;elles sont conformes aux politiques de s\u00e9curit\u00e9.<\/li>\n<\/ul>\n<h2>Conclusions<\/h2>\n<p>La gestion des profils du pare-feu Windows est essentielle pour la s\u00e9curit\u00e9 du r\u00e9seau et du syst\u00e8me. Alors que des outils comme NinjaOne offrent des <a href=\"https:\/\/www.ninjaone.com\/fr\/\">solutions compl\u00e8tes de gestion informatique<\/a>, des scripts comme celui dont il est question ici sont inestimables pour des t\u00e2ches particuli\u00e8res. Comme toujours, la compr\u00e9hension de son fonctionnement et de ses implications garantit une utilisation efficace et s\u00fbre.<\/p>\n","protected":false},"author":35,"featured_media":207096,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_lmt_disableupdate":"no","_lmt_disable":""},"operating_system":[4212],"use_cases":[4287],"class_list":["post-208365","script_hub","type-script_hub","status-publish","has-post-thumbnail","hentry","script_hub_category-windows","use_cases-configuration-de-systeme"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/script_hub\/208365","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/script_hub"}],"about":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/types\/script_hub"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/comments?post=208365"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media\/207096"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media?parent=208365"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/operating_system?post=208365"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/use_cases?post=208365"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}