Menu Fermer

Activer ou désactiver SMB sur Windows

SMB (Server Message Block) est le protocole de partage de fichiers pour Windows.
Ce dernier existe en plusieurs versions SMB1, SMB2 et SMB3.

Selon la version de Windows, la version n’est pas la même.
Il peut arriver que vous ayez besoin d’activer d’ancienne version notamment pour les partages avec des box.

Cet article vous explique comment vérifier la version de SMB, comment activer ou désactiver SMB sur Windows 11, Windows 10 et Windows 7.

Activer ou désactiver SMB sur Windows

Quelles sont les versions de SMB

SMB fonctionne en tant que client et serveur.
Ainsi sur Windows, le serveur écoute les connexions réseau et les équipements réseaux peuvent s’y connecter pour accéder aux ressources partagées.
De même, chaque Windows embarque un client SMB qui peut se connecter aux autres serveurs SMB du LAN.

Vous pouvez installer différentes versions du serveur ou client SMB.
Par exemple, si une box qui utilise SMB1 en serveur est présente, vous allez devoir installer le client SMB1 sur votre ordinateur pour pouvoir vous connecter à ce dernier.

Voici un récapitulatif des versions par défaut pour les versions de Windows.

  • SMB 1 (CIFS) – Windows 2000 – il a été introduit dans les versions DOS et s’appelait également CIFS dans sa version ultérieure (pensez à SMB 1.1). Premières versions de Samba 1.x prenant en charge SMB et CIFS
  • SMB 2 – Windows Server 2008 et Windows Vista SP1 – introduit avec Windows Vista et 2008 est pris en charge avec Samba 3.6
  • SMB 2.1 – Windows Server 2008 R2 et Windows 7. introduit avec Windows 7 et Windows 2008 R2 est pris en charge avec Samba 4.0.0
  • SMB 3.0 – Windows Server 2012 et Windows 8/10
    • SMB 3.02 introduit dans Windows 8.1 et Windows 2012 R2 n’est encore supporté par aucune version de Samba.
    • SMB 3.11 introduit dans Windows 10 et Windows 2016 n’est encore supporté par aucune version de Samba.

Bien entendu, Windows 10 et Windows 11 supporte les anciennes versions de SMB comme la version 2 et 1.
Toutefois pour des raisons de sécurité, il n’est pas recommandé d’activer SMB1 qui n’est plus sûr.

Enfin, rappelons enfin que le client et le serveur possède respectivement un service Windows : lanmanworkstation et LanmanServer.
Les commandes utilisées dans cet article vise donc à modifier la configuration de ces services Windows.
Cela va alors installer et activer, désactiver les sous-services mrxsmb10 et mrxsmb20 selon la version SMB souhaitée.

Comment vérifier la version SMB du serveur

Voici comment vérifier la version SMB du serveur sur Windows 10, 8 ou 7.

Selon la version de Windows la procédure n’est pas la même.
En effet, certaines cmdlets Powershell ne sont pas disponibles pour Windows 7.

Windows 11, Windows, Windows 8

Sur Windows 8 et 10, pour vérifier si SMB1 est activé sur le serveur, vous devez utiliser la commande suivante en PowerShell :

Get-WindowsOptionalFeature –Online –FeatureName SMB1Protocol

La valeur State retourne Enabled dans le cas où SMB1 est actif.

Vérifier la version SMB du serveur Windows 8.1 ou 10

Pour vérifier si la version 2 de SMB est bien activée, utilisez la commande suivante :

Get-SmbServerConfiguration | Select EnableSMB2Protocol

EnableSMB2Protocole affiche True lorsque SMB 2 est activé.

Vérifier la version SMB du serveur Windows 8.1 ou 10

Windows 7

Pour vérifier la configuration du client SMB sur Windows 7, vous devez utiliser la commande suivante en Powershell :

Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath

Lorsque SMB1 n’est pas activé, on obtient ceci sans aucune ligne SMB1.

Vérifier la version SMB du serveur Windows 7

Sinon une ligne SMB1 positionnée à 1 s’affiche.

Vérifier la version SMB du serveur Windows 7

Comment vérifier la version du client SMB

La commande consiste à vérifier l’état du service lanmanworkstation.
Celle-ci est identique sur toutes les versions de Windows.

Ainsi depuis une invite de commandes, vous pouvez utiliser la commande sc suivante :

sc.exe qc lanmanworkstation

Dans les résultats, il faut vérifier le contenu de la ligne DEPENDENCIES.
Par exemple, la présence de MRxSMB20 indique que la version SMB 2 est activée.

Vérifier la version SMB du client Windows

Alors que ci-dessous, on voit que la version 1.0 ainsi que la version 2.0 sont actifs tous les deux.

Vérifier la version SMB du client Windows

Comment activer et désactiver SMB1 sur Windows 10/11 en serveur

Sur Windows 10 ou Windows 11, vous devez installer le composant SMB1.
Pour se faire,

  • Sur votre clavier, appuyez sur la touche
    + R
  • Dans la fenêtre exécuter, saisissez : appwiz.cpl
Exécuter appwiz.cpl pour ouvrir les programmes et fonctionnalités de Windows
  • A gauche, cliquez sur Activer ou désactiver des fonctionnalités de Windows
  • Ensuite dans la liste, cherchez SMB 1.0 CFS File Sharing Support et activer le client et serveur ou seulement celui qui vous intéresse.
Installer les composants SMB1 pour Windows 10
  • Une fois l’activation effectuée, un redémarre de l’ordinateur est nécessaire.
Installer les composants SMB1 pour Windows 10
  • A partir de là, le serveur SMB1 est actif sur Windows 10.
  • Vous pouvez désactiver ce dernier à partir des commandes Powershell suivantes.

Pour désactiver SMB1 :

Set-SmbServerConfiguration -EnableSMB1Protocol $false

Enfin pour activer SMB1 :

Set-SmbServerConfiguration -EnableSMB1Protocol $true

Lorsque vous tentez d’utiliser ces commandes PowerShell alors que le composant SMB 1 n’est pas installé alors PowerShell retourne l’erreur “Set-SmbServerConfiguration – Le service spécifié n’existe pas

Set-SmbServerConfiguration - Le service spécifié n'existe pas sur Windows 10

Comment activer et désactiver SMB1 en client

Plusieurs voici la méthode pour activer ou désactiver SMB 1 sur Windows 7, 8.1 et 10.
Enfin pour activer SMB1 sur le client, vous pouvez utiliser la commande SC depuis une invite de commandes en administrateur.

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb10 start= auto

Ce qui nous donne ceci où on constate bien que mrxsm10 est présent dans DEPENDENCIES.

Activer ou Désactiver le client SMB 1 sur Windows 7,8 et 10

Pour désactiver SMB1, il faut utiliser SC comme ceci.

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi
sc.exe config mrxsmb10 start= disabled 

Là aussi, il est possible de désactiver SMB 2 en remplaçant simplement mrxsmb10 par mrxsmb20 dans les commandes précédentes.

Comment activer et désactiver SMB1 sur Windows 7

Vous pouvez utiliser deux méthodes pour activer ou désactiver SMB1 sur Windows 7.

Powershell

Vous pouvez utiliser PowerShell afin d’activer ou désactiver SMB1 sur le serveur.

La désactivation en positionnant la valeur du serveur à 0 :

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 –Force

Et pour activer avec la même commande pour mettre la valeur à 1

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 1 –Force 

De ce fait, si vous remplacez SMB1 par SMB2, cela désactive la version 2.

Par le registre Windows

Cette seconde méthode consiste à modifier le service SMB du serveur directement dans le registre Windows.
Pour se faire,

  • Sur votre clavier, appuyez sur la touche
    + R
  • Saisissez regedit et OK afin d’ouvrir l’éditeur du registre Windows.
  • Déroulez à gauche l’arborescence suivante :
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
  • A droite, la valeur SMB1 doit être présente avec la valeur 1 pour que SMB1 soit actif :
    • Si valeur à 1, SMB1 est actif
    • alors que la valeur 0 ou n’ont présente, SMB1 est désactivé.

Si la clé n’existe pas, vous devez la créer par un clic droit nouveau > Valeur DWord 32-bits.

Activer SMB1 par le registre Windows sur Windows 7

Une fois la modification effectuée, redémarrez l’ordinateur afin que les changements prennent effet ou redémarrer le service “Serveur”.

Pour désactiver smb1 et 2