{"id":208381,"date":"2024-01-03T11:31:11","date_gmt":"2024-01-03T11:31:11","guid":{"rendered":"https:\/\/www.ninjaone.com\/script-hub\/comment-desactiver-smbv1-powershell\/"},"modified":"2024-03-04T20:35:50","modified_gmt":"2024-03-04T20:35:50","slug":"comment-desactiver-smbv1-powershell","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/fr\/script-hub\/comment-desactiver-smbv1-powershell\/","title":{"rendered":"Comment d\u00e9sactiver SMBv1 (Server Message Block Protocol) avec PowerShell"},"content":{"rendered":"<p>Le <a href=\"https:\/\/www.ninjaone.com\/blog\/what-is-smb-server-message-block\/\">protocole Server Message Block Protocol (SMB)<\/a> existe depuis un certain temps et sert de pilier au partage de fichiers et \u00e0 diverses autres op\u00e9rations de r\u00e9seau. Cependant, la version la plus ancienne, SMBv1, est aujourd&rsquo;hui consid\u00e9r\u00e9e comme un handicap en raison d&rsquo;une multitude de failles de s\u00e9curit\u00e9. Si vous \u00eates un professionnel de l&rsquo;informatique ou un fournisseur de services g\u00e9r\u00e9s (MSP), la s\u00e9curit\u00e9 de votre r\u00e9seau doit \u00eatre votre principale pr\u00e9occupation. <strong>Comment d\u00e9sactiver efficacement SMBv1 ?<\/strong><\/p>\n<h2>Que fait le script ?<\/h2>\n<p>Le script PowerShell pr\u00e9sent\u00e9 ici a \u00e9t\u00e9 con\u00e7u dans un but tr\u00e8s pr\u00e9cis : d\u00e9sactiver SMBv1 dans les environnements Windows. Il utilise une s\u00e9quence de cmdlets PowerShell int\u00e9gr\u00e9s et de manipulations du registre pour s&rsquo;assurer que SMBv1 est compl\u00e8tement d\u00e9sactiv\u00e9. Le script peut \u00eatre ex\u00e9cut\u00e9 dans un environnement Windows 10 ou Windows Server 2016 ou plus r\u00e9cent, ce qui le rend tr\u00e8s polyvalent et pr\u00e9cieux pour tout syst\u00e8me Windows moderne.<\/p>\n<h2>Le script : D\u00e9sactiver SMBv1<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">#Requires -Version 5.1\r\n\r\n&lt;#\r\n.SYNOPSIS\r\n    Disables SMB v1\r\n.DESCRIPTION\r\n    Disables SMB v1 via Get-WindowsOptionalFeature, Set-SmbServerConfiguration, or Registry\r\n.EXAMPLE\r\n    No parameters needed.\r\n.EXAMPLE\r\n    PS C:&gt; Disable-SMBv1.ps1\r\n    No parameters needed.\r\n.OUTPUTS\r\n    None\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#&gt;\r\n\r\n[CmdletBinding()]\r\nparam ()\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        if ($p.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator))\r\n        { Write-Output $true }\r\n        else\r\n        { Write-Output $false }\r\n    }\r\n    function Set-ItemProp {\r\n        param (\r\n            $Path,\r\n            $Name,\r\n            $Value,\r\n            [ValidateSet(\"DWord\", \"QWord\", \"String\", \"ExpandedString\", \"Binary\", \"MultiString\", \"Unknown\")]\r\n            $PropertyType = \"DWord\"\r\n        )\r\n        # Do not output errors and continue\r\n        $ErrorActionPreference = [System.Management.Automation.ActionPreference]::SilentlyContinue\r\n        if (-not $(Test-Path -Path $Path)) {\r\n            # Check if path does not exist and create the path\r\n            New-Item -Path $Path -Force | Out-Null\r\n        }\r\n        if ((Get-ItemProperty -Path $Path -Name $Name)) {\r\n            # Update property and print out what it was changed from and changed to\r\n            $CurrentValue = Get-ItemProperty -Path $Path -Name $Name\r\n            try {\r\n                Set-ItemProperty -Path $Path -Name $Name -Value $Value -Force -Confirm:$false -ErrorAction Continue | Out-Null\r\n            }\r\n            catch {\r\n                Write-Error $_\r\n            }\r\n            Write-Host \"$Path$Name changed from $CurrentValue to $(Get-ItemProperty -Path $Path -Name $Name)\"\r\n        }\r\n        else {\r\n            # Create property with value\r\n            try {\r\n                New-ItemProperty -Path $Path -Name $Name -Value $Value -PropertyType $PropertyType -Force -Confirm:$false -ErrorAction Continue | Out-Null\r\n            }\r\n            catch {\r\n                Write-Error $_\r\n            }\r\n            Write-Host \"Set $Path$Name to $(Get-ItemProperty -Path $Path -Name $Name)\"\r\n        }\r\n        $ErrorActionPreference = [System.Management.Automation.ActionPreference]::Continue\r\n    }\r\n    $Disable = 0\r\n    # $Enable = 1 # Not Used\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    \r\n    # Try using Get-WindowsOptionalFeature first\r\n    if (-not $(Get-Command -Name \"Get-WindowsOptionalFeature\").Name -like \"Get-WindowsOptionalFeature\") {\r\n        Write-Host \"Get-WindowsOptionalFeature command not found. Continuing.\"\r\n    }\r\n    else {\r\n        if ((Get-WindowsOptionalFeature -Online -FeatureName smb1protocol -ErrorAction SilentlyContinue).State -notlike \"Disabled\") {\r\n            # Disables smb1protocol feature\r\n            try {\r\n                Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol\r\n                # Disabled SMB1, exit\r\n                exit 0\r\n            }\r\n            catch {\r\n                Write-Host \"smb1protocol feature not found. Continuing.\"\r\n            }\r\n        }\r\n    }\r\n\r\n    if (-not $(Get-Command -Name \"Get-SmbServerConfiguration\").Name -like \"Get-SmbServerConfiguration\") {\r\n        Write-Host \"Get-SmbServerConfiguration command not found. Continuing.\"\r\n        $Path = \"HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters\"\r\n        $Name = \"SMB1\"\r\n        # https:\/\/docs.microsoft.com\/en-us\/windows-server\/storage\/file-server\/troubleshoot\/detect-enable-and-disable-smbv1-v2-v3#registry-editor\r\n        # Sets SMB1 to 0\r\n        Set-ItemProp -Path $Path -Name $Name -Value $Disable\r\n    }\r\n    if ((Get-SmbServerConfiguration).EnableSMB1Protocol) {\r\n        try {\r\n            Set-SmbServerConfiguration -EnableSMB1Protocol $false            \r\n        }\r\n        catch {\r\n            Write-Host \"Failed to disable SMBv1.\"\r\n            exit 1\r\n        }\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>Pr\u00e9occupations en mati\u00e8re de s\u00e9curit\u00e9 concernant SMBv1<\/h2>\n<p>SMBv1 est r\u00e9put\u00e9 pour ses lacunes en mati\u00e8re de s\u00e9curit\u00e9. Il a souvent \u00e9t\u00e9 la cible de divers types d&rsquo;attaques, de ransomwares et de vols de donn\u00e9es. Laisser SMBv1 activ\u00e9, c&rsquo;est comme laisser sa porte d&rsquo;entr\u00e9e ouverte; c&rsquo;est chercher \u00e0 s&rsquo;attirer des ennuis. Ce script PowerShell r\u00e9sout efficacement ce probl\u00e8me en d\u00e9sactivant SMBv1.<\/p>\n<h2>Temps et efficacit\u00e9<\/h2>\n<p>La d\u00e9sactivation manuelle de SMBv1 peut prendre beaucoup de temps, en particulier dans les grands r\u00e9seaux. Ce script automatise le processus, ce qui permet d&rsquo;\u00e9conomiser du temps et des ressources. Pour les entreprises MSP qui g\u00e8rent les r\u00e9seaux de plusieurs clients, cet outil est indispensable.<\/p>\n<h2>Approche globale<\/h2>\n<p>Le script tente de d\u00e9sactiver SMBv1 par plusieurs moyens, notamment la cmdlet Get-WindowsOptionalFeature, la cmdlet Set-SmbServerConfiguration et des modifications directes du registre. Cela garantit que le protocole est d\u00e9sactiv\u00e9, m\u00eame si l&rsquo;une des m\u00e9thodes \u00e9choue ou n&rsquo;est pas disponible sur le syst\u00e8me en question.<\/p>\n<h2>Comment utiliser le script de d\u00e9sactivation de SMBv1 ?<\/h2>\n<p>L&rsquo;ex\u00e9cution du script est simple. Voici un guide rapide :<\/p>\n<ol>\n<li>Enregistrez le script dans un fichier nomm\u00e9 Disable-SMBv1.ps1.<\/li>\n<li>Ouvrez PowerShell en tant qu&rsquo;administrateur.<\/li>\n<li>Naviguez jusqu&rsquo;au dossier dans lequel vous avez enregistr\u00e9 le script.<\/li>\n<li>Ex\u00e9cutez le script en tapant PS C :&gt;.Disable-SMBv1.ps1 et en appuyant sur Entr\u00e9e.<\/li>\n<\/ol>\n<p>Assurez-vous d&rsquo;avoir les privil\u00e8ges d&rsquo;administrateur, sinon le script se terminera, ce qui vous \u00e9vitera d&rsquo;effectuer accidentellement des modifications que vous n&rsquo;auriez pas d\u00fb.<\/p>\n<h2>Qui a besoin de ce script ?<\/h2>\n<ul>\n<li><strong>Professionnels de l&rsquo;informatique :<\/strong> Si vous \u00eates charg\u00e9 de la maintenance d&rsquo;un r\u00e9seau d&rsquo;entreprise ou m\u00eame d&rsquo;un r\u00e9seau \u00e0 plus petite \u00e9chelle, ce script devrait faire partie de votre bo\u00eete \u00e0 outils. Vous pouvez ainsi automatiser le processus de d\u00e9sactivation de SMBv1 sur plusieurs syst\u00e8mes \u00e0 la fois.<\/li>\n<li><strong>Fournisseurs de services g\u00e9r\u00e9s (MSP) :<\/strong> Pour ceux qui g\u00e8rent les r\u00e9seaux de plusieurs clients, la possibilit\u00e9 de d\u00e9sactiver rapidement les protocoles vuln\u00e9rables tels que SMBv1 peut ajouter une couche suppl\u00e9mentaire de s\u00e9curit\u00e9, rendant ainsi votre service plus pr\u00e9cieux pour vos clients.<\/li>\n<\/ul>\n<h2>Int\u00e9gration du script \u00e0 NinjaOne<\/h2>\n<p>Pour les professionnels de l&rsquo;informatique et les fournisseurs de services g\u00e9r\u00e9s (MSP) qui utilisent NinjaOne comme <a href=\"https:\/\/www.ninjaone.com\/fr\/rmm\/\">solution de surveillance et de gestion \u00e0 distance (RMM)<\/a>, l&rsquo;int\u00e9gration de ce script dans vos protocoles de maintenance ou de s\u00e9curit\u00e9 r\u00e9guliers peut ajouter une couche suppl\u00e9mentaire de fiabilit\u00e9 \u00e0 vos op\u00e9rations.<\/p>\n<h3>Ex\u00e9cution planifi\u00e9e<\/h3>\n<p>Vous pouvez planifier l&rsquo;ex\u00e9cution du script PowerShell via le moteur de script de NinjaOne. Ainsi vous pouvez vous assurez que SMBv1 est automatiquement d\u00e9sactiv\u00e9 sur tous les nouveaux syst\u00e8mes ajout\u00e9s au r\u00e9seau ou sur tous les syst\u00e8mes r\u00e9initialis\u00e9s, ce qui permet de maintenir une posture de s\u00e9curit\u00e9 uniforme.<\/p>\n<h3>Surveillance et alertes<\/h3>\n<p>Gr\u00e2ce aux fonctions d&rsquo;alerte de NinjaOne, vous pouvez cr\u00e9er des alertes personnalis\u00e9es qui vous informent lorsque le script s&rsquo;est ex\u00e9cut\u00e9 avec succ\u00e8s ou s&rsquo;il rencontre des probl\u00e8mes. Vous disposez ainsi d&rsquo;un retour d&rsquo;information en temps r\u00e9el, ce qui vous permet d&rsquo;intervenir si n\u00e9cessaire.<\/p>\n<h3>D\u00e9ploiement \u00e0 distance<\/h3>\n<p>Le script de d\u00e9sactivation de SMBv1 peut \u00eatre d\u00e9ploy\u00e9 \u00e0 distance sur plusieurs syst\u00e8mes via NinjaOne. Ceci est particuli\u00e8rement utile pour les MSP qui g\u00e8rent un large \u00e9ventail de r\u00e9seaux. Quelques clics suffisent pour appliquer une strat\u00e9gie de s\u00e9curit\u00e9 essentielle \u00e0 l&rsquo;ensemble des terminaux g\u00e9r\u00e9s.<\/p>\n<h3>Rapport de conformit\u00e9<\/h3>\n<p>Pour les exigences de conformit\u00e9 telles que le RGPD ou HIPAA, o\u00f9 la d\u00e9sactivation des protocoles obsol\u00e8tes et vuln\u00e9rables peut \u00eatre obligatoire, l&rsquo;ex\u00e9cution de ce script par NinjaOne peut vous fournir un moyen transparent de prouver que les mesures de s\u00e9curit\u00e9 appropri\u00e9es sont en place. Les fonctionnalit\u00e9s de reporting de NinjaOne peuvent vous aider \u00e0 g\u00e9n\u00e9rer des rapports complets pour les audits.<\/p>\n<h2>Conclusions<\/h2>\n<p>D\u00e9sactiver SMBv1 devrait \u00eatre une n\u00e9cessit\u00e9 pour toute entreprise qui prend au s\u00e9rieux la s\u00e9curit\u00e9 de son r\u00e9seau. Ce script PowerShell fournit une m\u00e9thode fiable, efficace et compl\u00e8te pour y parvenir. \u00c9tant donn\u00e9 le besoin essentiel de protocoles de s\u00e9curit\u00e9 renforc\u00e9s dans le monde informatique des entreprises, l&rsquo;adoption de ce script devrait \u00eatre une priorit\u00e9 absolue.<\/p>\n","protected":false},"author":35,"featured_media":206915,"parent":0,"menu_order":0,"comment_status":"open","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-208381","script_hub","type-script_hub","status-publish","has-post-thumbnail","hentry","script_hub_category-windows"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/script_hub\/208381","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=208381"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media\/206915"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media?parent=208381"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/operating_system?post=208381"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/use_cases?post=208381"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}