SMB (Server Message Block) est le protocole de partage de fichiers pour Windows.
Ce dernier existe en plusieurs versions SMB 1, SMB 2 et SMB 3.
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.
Table des matières
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 SMB 1 en serveur est présente, vous allez devoir installer le client SMB 1 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 supporte les anciennes versions de SMB comme la version 2 et 1.
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.
Erreur 0x80070035 ou 0x80004005
Lorsque les versions SMB sont différentes entre le serveur et le client, vous pouvez rencontrer des erreurs avec les codes erreurs 0x80070035 ou 0x80004005.
De plus l’ordinateur cible est invisible depuis le parcours du réseau de l’explorateur de fichiers de Windows.
Voici le message d’erreur complet lorsque l’on tente de se connecter à un partage ou un ordinateur.
Erreur 0x80070035 – Le chemin réseau est introuvable
ou encore cet autre code erreur :
0x80004005 – Erreur non spécifié
Dans ce cas de figure, veillez à bien vérifier la version SMB du serveur ainsi que celle du client.
Vous devez alors faire en sorte d’avoir les mêmes des deux côtés en activant celle qui convient.
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 8 et 10
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ù SMB 1 est actif.
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é.
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 SMB 1 n’est pas activé, on obtient ceci sans aucune ligne SMB1.
Sinon une ligne SMB1 positionnée à 1 s’affiche.
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.
Alors que ci-dessous, on voit que la version 1.0 ainsi que la version 2.0 sont actifs tous les deux.
Activer et désactiver SMB 1 sur Windows 7
Vous pouvez utiliser deux méthodes pour activer ou désactiver SMB1 sur Windows 7.
Serveur
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.
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
Activer et désactiver SMB 1 sur Windows 10
Sur Windows 10, vous devez installer le composant SMB1.
Pour se faire,
- Ouvrez le Panneau de configuration de Windows puis Programmes et fonctionnalités.
- 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.
Une fois l’activation effectuée, un redémarre de l’ordinateur est nécessaire.
A partir de là, le serveur SMB1 est actif sur Windows 10.
Vous pouvez désactiver ce dernier à partir des commandes Powershell suivantes.
La désactivation de SMB1.
Set-SmbServerConfiguration -EnableSMB1Protocol $false
Enfin son activation.
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“
Activer et désactiver SMB 1 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.
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.
Liens
- Comment partager ses fichiers et dossier en réseau entre deux PC sur Windows 10
- Accéder aux fichiers Windows depuis Ubuntu
- Sauvegarder des fichiers vers un ordinateur du réseau
- Partager la connexion internet sur Windows 10
- Les autorisations NTFS (ACL) sur les fichiers et partage réseau de Windows
- Résoudre les problèmes et erreurs de partages de fichiers sur Windows