Windows server 2008 r2 как включить smb1

How to enable and disable SMBv1, SMBv2, and SMBv3 in Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows 8, and Windows Server 2012

This article describes how to enable and disable Server Message Block (SMB) version 1 (SMBv1), SMB version 2 (SMBv2), and SMB version 3 (SMBv3) on the SMB client and server components.

Summary

In Windows 7 and Windows Server 2008 R2, disabling SMBv2 deactivates the following functionality:

  • Request compounding — allows for sending multiple SMB 2 requests as a single network request
  • Larger reads and writes — better use of faster networks
  • Caching of folder and file properties — clients keep local copies of folders and files
  • Durable handles — allow for connection to transparently reconnect to the server if there is a temporary disconnection
  • Improved message signing — HMAC SHA-256 replaces MD5 as hashing algorithm
  • Improved scalability for file sharing — number of users, shares, and open files per server greatly increased
  • Support for symbolic links
  • Client oplock leasing model — limits the data transferred between the client and server, improving performance on high-latency networks and increasing SMB server scalability
  • Large MTU support — for full use of 10-gigabye (GB) Ethernet
  • Improved energy efficiency — clients that have open files to a server can sleep

In Windows 8 and Windows Server 2012, disabling SMBv3 deactivates the following functionality (and also the SMBv2 functionality that is described in the previous list):

  • Transparent Failover — clients reconnect without interruption to cluster nodes during maintenance or failover
  • Scale Out – concurrent access to shared data on all file cluster nodes
  • Multichannel — aggregation of network bandwidth and fault tolerance if multiple paths are available between client and server
  • SMB Direct – adds RDMA networking support for very high performance, with low latency and low CPU utilization
  • Encryption – Provides end-to-end encryption and protects from eavesdropping on untrustworthy networks
  • Directory Leasing — Improves application response times in branch offices through caching
  • Performance Optimizations — optimizations for small random read/write I/O
More information

The SMBv2 protocol was introduced in Windows Vista and Windows Server 2008.

The SMBv3 protocol was introduced in Windows 8 and Windows Server 2012.

For more information about the capabilities of SMBv2 and SMBv3 capabilities, go to the following Microsoft TechNet websites:

Server Message Block overview

What’s New in SMB

  • How to enable or disable SMB protocols on the SMB server

    Windows 8 and Windows Server 2012

    Windows 8 and Windows Server 2012 introduce the new Set-SMBServerConfiguration Windows PowerShell cmdlet. The cmdlet enables you to enable or disable the SMBv1, SMBv2, and SMBv3 protocols on the server component.

    Notes When you enable or disable SMBv2 in Windows 8 or in Windows Server 2012, SMBv3 is also enabled or disabled. This behavior occurs because these protocols share the same stack.

    You do not have to restart the computer after you run the Set-SMBServerConfiguration cmdlet.

    • To obtain the current state of the SMB server protocol configuration, run the following cmdlet:

      Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol

    • To disable SMBv1 on the SMB server, run the following cmdlet:

      Set-SmbServerConfiguration -EnableSMB1Protocol $false

    • To disable SMBv2 and SMBv3 on the SMB server, run the following cmdlet:

      Set-SmbServerConfiguration -EnableSMB2Protocol $false

    • To enable SMBv1 on the SMB server, run the following cmdlet:

      Set-SmbServerConfiguration -EnableSMB1Protocol $true

    • To enable SMBv2 and SMBv3 on the SMB server, run the following cmdlet:

      Set-SmbServerConfiguration -EnableSMB2Protocol $true

    Windows 7, Windows Server 2008 R2, Windows Vista, and Windows Server 2008

    To enable or disable SMB protocols on an SMB Server that is runningWindows 7, Windows Server 2008 R2, Windows Vista, or Windows Server 2008, use Windows PowerShell or Registry Editor.

    Windows PowerShell 2.0 or a later version of PowerShell

    • To disable SMBv1 on the SMB server, run the following cmdlet:

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

    • To disable SMBv2 and SMBv3 on the SMB server, run the following cmdlet:

      Set-ItemProperty -Path «HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters» SMB2 -Type DWORD -Value 0 -Force

    • To enable SMBv1 on the SMB server, run the following cmdlet:

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

    • To enable SMBv2 and SMBv3 on the SMB server, run the following cmdlet:

      Set-ItemProperty -Path «HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters» SMB2 -Type DWORD -Value 1 -Force

    Note You must restart the computer after you make these changes.

    Registry Editor

    Important This article contains information about how to modify the registry. Make sure that you back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:

    322756 How to back up and restore the registry in Windows

    To enable or disable SMBv1 on the SMB server, configure the following registry key:

    Registry subkey:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\ParametersRegistry entry: SMB1
    REG_DWORD: 0 = Disabled
    REG_DWORD: 1 = Enabled
    Default: 1 = Enabled To enable or disable SMBv2 on the SMB server, configure the following registry key:

    Registry subkey:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

    Registry entry: SMB2
    REG_DWORD: 0 = Disabled
    REG_DWORD: 1 = Enabled
    Default: 1 = Enabled

    How to enable or disable SMB protocols on the SMB client

    Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows 8, and Windows Server 2012

    Note When you enable or disable SMBv2 in Windows 8 or in Windows Server 2012, SMBv3 is also enabled or disabled. This behavior occurs because these protocols share the same stack.

    • To disable SMBv1 on the SMB client, run the following commands:

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

    • To enable SMBv1 on the SMB client, run the following commands:

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

    • To disable SMBv2 and SMBv3 on the SMB client, run the following commands:

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

    • To enable SMBv2 and SMBv3 on the SMB client, run the following commands:

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

    Notes

    • You must run these commands at an elevated command prompt.
    • You must restart the computer after you make these changes.

Published: 21/10/16 — 08:51:30 (Amanda Higgins)

Related Articles


Running DE8 on Windows Servers, do and dont’s (SMB1,SMB2,SMB3 and OpLocks)

With the release of DataEase 8.0, 8.1, 8.2 and Windows 7, 8 , 8.1 and Windows Server 2012 R2, we are frequently asked about how new versions of DataEase work when connecting to old versions of Windows servers and old versions of DataEase connecting to new…


Other sources of Network problems

This is a little old, but it is still useful. If you have switched off SMB2 and SMB3 on your networ as well as disabled OpLocks for SMB1 and still have problems with corruption, have a look below and see if some of these things might apply to your network…


Environment Variables in Windows XP, WIndows 7 and 8 (Complete List)

Environment variables is very useful to make general code. You can include them in paths directly to access files native to an active user/workstation/profile/session etc….

Сетевой протокол SMB (Server Message Block) используется для предоставления совместного удаленного доступа к файлам, принтерам и другим устройствам через порт TCP 445. В этой статье мы рассмотрим: какие версии (диалекты) протокола SMB доступны в различных версиях Windows (и как они соотносятся с версиями samba в Linux); как определить версию SMB на вашем компьютере; и как включить/отключить клиент и сервер SMBv1, SMBv2 и SMBv3.

Содержание:

  • Версии протокола SMB в Windows
  • Как проверить поддерживаемые версии SMB в Windows?
  • Вывести используемые версии SMB с помощью Get-SMBConnection
  • Об опасности использования SMBv1
  • Включение и отключение SMBv1, SMBv2 и SMBv3 в Windows

Версии протокола SMB в Windows

Есть несколько версии протокола SMB (диалектов), которые последовательно появлялись в новых версиях Windows:

Для реализации протокола SMB в Linux/Unix системах используется samba. В скобках мы указали в каких версиях samba поддерживается каждый диалект SMB.

  • CIFS — Windows NT 4.0;
  • SMB 1.0 — Windows 2000;
  • SMB 2.0 — Windows Server 2008 и Windows Vista SP1 (поддерживается в Samba 3.6);
  • SMB 2.1 — Windows Server 2008 R2 и Windows 7 (поддерживается в Samba 4.0);
  • SMB 3.0 — Windows Server 2012 и Windows 8 (поддерживается в Samba 4.2);
  • SMB 3.02 — Windows Server 2012 R2 и Windows 8. 1 (не поддерживается в Samba);
  • SMB 3.1.1 – Windows Server 2016 и Windows 10 (не поддерживается в Samba).

Начиная с версии Samba 4.14, по умолчанию используется SMB2.1.

При сетевом взаимодействии по протоколу SMB между клиентом и сервером используется максимальная версия протокола, поддерживаемая одновременно и клиентом, и сервером.

Ниже представлена сводная таблица, по которой можно определить версию протокола SMB, которая выбирается при взаимодействии разных версий Windows:

Операционная система Win 10, Server 2016 Windows 8.1,
Server 2012 R2
Windows 8,
Server 2012
Windows 7,
Server 2008 R2
Windows Vista,
Server 2008
Windows XP, Server 2003 и ниже
Windows 10 ,

Windows Server 2016

SMB 3.1.1 SMB 3.02 SMB 3.0 SMB 2.1 SMB 2.0 SMB 1.0
Windows 8.1 ,
Server 2012 R2
SMB 3.02 SMB 3.02 SMB 3.0 SMB 2.1 SMB 2.0 SMB 1.0
Windows 8 ,
Server 2012
SMB 3.0 SMB 3.0 SMB 3.0 SMB 2.1 SMB 2.0 SMB 1.0
Windows 7,
Server 2008 R2
SMB 2.1 SMB 2.1 SMB 2.1 SMB 2.1 SMB 2.0 SMB 1.0
Windows Vista,
Server 2008
SMB 2.0 SMB 2.0 SMB 2.0 SMB 2.0 SMB 2.0 SMB 1.0
Windows XP, 2003 и ниже SMB 1.0 SMB 1.0 SMB 1.0 SMB 1.0 SMB 1.0 SMB 1.0

К примеру, при подключении клиентского компьютера с Windows 8.1 к файловому серверу с Windows Server 2016 будет использоваться протокол SMB 3.0.2.

Согласно таблице Windows XP, Windows Server 2003 для доступа к общим файлам и папкам на сервере могут использовать только SMB 1.0, который в новых версиях Windows Server (2012 R2 / 2016) может быть отключен. Таким образом, если в вашей инфраструктуре одновременно используются компьютеры с Windows XP (снятой с поддержки), Windows Server 2003/R2 и сервера с Windows Server 2012 R2/2016/2019, устаревшие клиенты не смогут получить доступ к файлам и папкам на файловом сервере с новой ОС.

Если Windows Server 2016/2012 R2 с отключенным SMB v1.0 используется в качестве контроллера домена, значить клиенты на Windows XP/Server 2003 не смогут получить доступ к каталогам SYSVOL и NETLOGON на контроллерах домена и авторизоваться в AD.

На старых клиентах при попытке подключиться к ресурсу на файловом сервере с отключенным SMB v1 появляется ошибка:

The specified network name is no longer available

Как проверить поддерживаемые версии SMB в Windows?

Рассмотрим, как определить, какие версии протокола SMB поддерживаются на вашем компьютере Windows.

В Windows 10, 8.1 и Windows Server 2019/2016/2012R2 вы можете проверить состояние различных диалектов SMB протокола с помощью PowerShell:

Get-SmbServerConfiguration | select EnableSMB1Protocol,EnableSMB2Protocol

Get-SmbServerConfiguration | select EnableSMB1Protocol,EnableSMB2Protocol

Данная команда вернула, что протокол SMB1 отключен (
EnableSMB1Protocol=False
), а протоколы SMB2 и SMB3 включены (
EnableSMB1Protocol=True
).

Обратите внимание, что протоколы SMBv3 и SMBv2 тесно связаны между собой. Нельзя отключить или включить отдельно SMBv3 или SMBv2. Они всегда включаются/отключаются только совместно, т.к. используют один стек.

В Windows 7, Vista, Windows Server 2008 R2/2008:

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

Если в данной ветке реестра нет параметров с именами SMB1 или SMB2, значить протоколы SMB1 и SMB2 по умолчанию включены.

проверить какие версии smb включены в windows

Также в этих версиях Windows вы можете проверить, какие диалекты SMB разрешено использовать в качестве клиентов с помощью команд:

sc.exe query mrxsmb10

SERVICE_NAME: mrxsmb10
TYPE : 2 FILE_SYSTEM_DRIVER
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0

sc.exe query mrxsmb20

SERVICE_NAME: mrxsmb20
TYPE : 2 FILE_SYSTEM_DRIVER
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0

В обоих случаях службы запущены (
STATE=4 Running
). Значит Windows может подключаться как к SMBv1, так и к SMBv2 серверам.

Вывести используемые версии SMB с помощью Get-SMBConnection

Как мы говорили раньше, компьютеры при взаимодействии по протоколу SMB используют максимальную версию, поддерживаемую как клиентом, так и сервером. Для определения версии SMB, используемой для доступа к удаленному компьютеру можно использовать командлет PowerShell
Get-SMBConnection
:

Get-SMBConnection вывести в powershell версии smb, исопльзуемые для подключения

Версия SMB, используемая для подключения к удаленному серверу (ServerName) указана в столбце Dialect.

Можно вывести информацию о версиях SMB, используемых для доступа к конкретному серверу:

Get-SmbConnection -ServerName servername

Если нужно отобразить, используется ли SMB шифрование (появилось в SMB 3.0), выполните:

Get-SmbConnection | ft ServerName,ShareName,Dialect,Encrypted,UserName

В Linux вывести список SMB подключения и используемые диалекты в samba можно командой:

$ sudo smbstatus

Чтобы на стороне сервера вывести список используемых клиентами версий протокола SMB и количество клиентов, используемых ту или иную версию протокола SMB, выполните команду:

Get-SmbSession | Select-Object -ExpandProperty Dialect | Sort-Object -Unique

Get-SmbSession Получить количество клиентов, использующих разные версии SMB

В нашем примере имеется 825 клиентов, подключенных к серверу с помощью SMB 2.1 (Windows 7/Windows Server 2008 R2) и 12 клиентов SMB 3.02.

С помощью PowerShell можно включить аудит версий SMB, используемых для подключения:

Set-SmbServerConfiguration –AuditSmb1Access $true

События подключения затем можно извлечь из журналов Event Viewer с помощью PowerShell:

Get-WinEvent -LogName Microsoft-Windows-SMBServer/Audit

Об опасности использования SMBv1

Последние несколько лет Microsoft из соображений безопасности планомерно отключает устаревший протокол SMB 1.0. Связано это с большим количеством критических уязвимостей в этом протоколе (вспомните историю с эпидемиями вирусов-шифровальщиков wannacrypt и petya, которые использовали уязвимость именно в протоколе SMBv1). Microsoft и другие IT компании настоятельно рекомендуют отказаться от его использования.

Однако отключение SMBv1 может вызвать проблемы с доступом к общий файлам и папкам на новых версиях Windows 10 (Windows Server 2016/2019) с устаревших версий клиентов (Windows XP, Server 2003), сторонних ОС (Mac OSX 10.8 Mountain Lion, Snow Leopard, Mavericks, старые версии Linux), различных старых NAS устройствах.

Если в вашей сети не осталось legacy устройств с поддержкой только SMBv1, обязательно отключайте эту версию диалекта в Windows.

В том случае, если в вашей сети остались клиенты с Windows XP, Windows Server 2003 или другие устройства, которые поддерживают только SMBv1, их нужно как можно скорее обновить или тщательно изолировать.

Включение и отключение SMBv1, SMBv2 и SMBv3 в Windows

Рассмотрим способы включения, отключения различных версий SMB в Windows. Мы рассматриваем отдельно включение клиента и сервера SMB (это разные компоненты).

Windows 10, 8.1, Windows Server 2019/2016/2012R2:

Отключить клиент и сервер SMBv1:
Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol

Отключить только SMBv1 сервер:
Set-SmbServerConfiguration -EnableSMB1Protocol $false

Включить клиент и сервер SMBv1:
Enable-WindowsOptionalFeature -Online -FeatureName smb1protocol

Включить только SMBv1 сервер:
Set-SmbServerConfiguration -EnableSMB1Protocol $true

Отключить сервер SMBv2 и SMBv3:
Set-SmbServerConfiguration -EnableSMB2Protocol $false

Включить сервер SMBv2 и SMBv3:
Set-SmbServerConfiguration -EnableSMB2Protocol $true

Set-SmbServerConfiguration - powershell отключить SMBv2 и SMBv3

Windows 7, Vista, Windows Server 2008 R2/2008:

Отключить SMBv1 сервер:

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

отключить smbv1 сервер в windows 7 через powershell

Включить SMBv1 сервер:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 1 –Force

Отключить SMBv1 клиент:

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

Включить SMBv1 клиент:

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

Отключить SMBv2 сервер:

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

Включить SMBv2 сервер

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

Отключить SMBv2 клиент:

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

Включить SMBv2 клиент:

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

Для отключения сервера SMBv1 на всех компьютерах независимо от версии Windows можно распространить параметр реестра типа REG_DWORD с именем SMB1 и значением 0 (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters)на через GPO.

Для отключения SMBv2 нужно в этой же ветке установить параметр SMB2=0.

Для отключения SMBv1 клиента нужно распространить такой параметр реестра:

  • Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\mrxsmb10
  • Name: Start
  • Type: REG_DWORD
  • Value: 4

При отключении SMB 1.0/CIFS File Sharing Support в Windows вы можете столкнуться с ошибкой “0x80070035, не найден сетевой путь”, ошибкой при доступе к общим папкам, и проблемами обнаружения компьютеров в сетевом окружении. В этом случае вместо служба обозревателя компьютеров (Computer Browser) нужно использовать службы обнаружения (линк).

Сетевой протокол Server Message Block (SMB) используется для совместного использования удаленного доступа к файлам, принтерам и другим устройствам через TCP-порт 445. В этой статье мы рассмотрим, какие версии (диалекты) SMB доступны в разных версиях Windows. (и как они соотносятся с версиями самбы в Linux); как определить версию SMB на вашем компьютере; и как включить / отключить клиентов и серверы SMBv1, SMBv2 и SMBv3.

SMB (Server Message Block) является протоколом, который используется для обмена файлами, печати и других операций между компьютерами в сети Windows. В Windows можно включать и отключать определенные версии протокола SMB в зависимости от требований безопасности и совместимости.

Для того чтобы определить, какие версии протокола SMB включены в Windows, необходимо выполнить следующие действия:

  1. Откройте командную строку от имени администратора.
  2. Введите команду sc.exe qc lanmanworkstation и нажмите Enter.
  3. В выводе командной строки найдите строку “DEPENDENCIES” и проверьте, есть ли там ссылки на “mrxsmb10” (SMBv1), “mrxsmb20” (SMBv2) и/или “mrxsmb30” (SMBv3).
  4. Если ссылки на SMBv1 есть в “DEPENDENCIES”, это означает, что SMBv1 включен в Windows. Если ссылки на SMBv2 и/или SMBv3 есть в “DEPENDENCIES”, это означает, что соответствующие версии SMB включены в Windows.

Если необходимо отключить или включить определенную версию SMB, можно воспользоваться следующей инструкцией:

  1. Откройте “Панель управления” и выберите “Программы и компоненты”.
  2. Нажмите “Включение или отключение компонентов Windows”.
  3. Раскройте ветвь “Протокол SMB 1.0/CIFS файловая система” и уберите или поставьте галочку напротив “Клиент SMB 1.0/CIFS”.
  4. Раскройте ветвь “Поддержка SMB 1.0/CIFS” и уберите или поставьте галочку напротив “Сервер SMB 1.0/CIFS”.
  5. Раскройте ветвь “Поддержка SMB 2.0/CIFS файловая система” и уберите или поставьте галочку напротив “Клиент SMB 2.0/CIFS”.
  6. Раскройте ветвь “Поддержка SMB 3.0/CIFS файловая система” и уберите или поставьте галочку напротив “Клиент SMB 3.0/CIFS”.
  7. Нажмите “OK” и перезагрузите компьютер, если вам будет предложено это сделать.

При изменении настроек протокола SMB рекомендуется включать только те версии протокола, которые действительно необходимы, и отключать устаревшие версии протокола SMB, такие как SMBv1

Существует несколько версий протокола SMB (диалектов), которые постоянно появляются в новых версиях Windows:

Samba используется для реализации протокола SMB в системах Linux / Unix. В скобках мы указали, в каких версиях самбы поддерживается каждый диалект SMB.

  • CIFS – Windows NT 4.0;
  • SMB 1.0 – Windows 2000;
  • SMB 2.0 – Windows Server 2008 и Windows Vista SP1 (поддерживается в Samba 3.6);
  • SMB 2.1 – Windows Server 2008 R2 и Windows 7 (поддерживается в Samba 4.0);
  • SMB 3.0 – Windows Server 2012 и Windows 8 (поддерживается в Samba 4.2);
  • SMB 3.02 – Windows Server 2012 R2 и Windows 8.1 (не поддерживается в Samba);
  • SMB 3.1.1 – Windows Server 2016 и Windows 10 (не поддерживается в Samba).

Начиная с Samba 4.14, по умолчанию используется SMB2.1.

В сети SMB между клиентом и сервером используется максимальная версия протокола, поддерживаемая как клиентом, так и сервером.

Ниже представлена ​​сводная таблица, по которой вы можете определить версию протокола SMB, выбранную при взаимодействии с разными версиями Windows:

Операционная система Win 10, Сервер 2016 Windows 8.1,
Сервер 2012 R2
Windows 8,
Сервер 2012
Windows 7,
Сервер 2008 R2
Виндоус виста,
Сервер 2008
Windows XP, Server 2003 и более ранние версии
Windows 10 ,
Windows Server 2016
SMB 3.1.1 SMB 3.02 МСП 3.0 SMB 2.1 МСБ 2.0 SMB 1.0
Windows 8.1 ,
Сервер 2012 R2
SMB 3.02 SMB 3.02 МСП 3.0 SMB 2.1 МСБ 2.0 SMB 1.0
Windows 8 ,
Сервер 2012
МСП 3.0 МСП 3.0 МСП 3.0 SMB 2.1 МСБ 2.0 SMB 1.0
Windows 7,
Сервер 2008 R2
SMB 2.1 SMB 2.1 SMB 2.1 SMB 2.1 МСБ 2.0 SMB 1.0
Виндоус виста,
Сервер 2008
МСБ 2.0 МСБ 2.0 МСБ 2.0 МСБ 2.0 МСБ 2.0 SMB 1.0
Windows XP, 2003 и ранее SMB 1.0 SMB 1.0 SMB 1.0 SMB 1.0 SMB 1.0 SMB 1.0

Например, когда клиентский компьютер Windows 8.1 подключается к файловому серверу Windows Server 2016, он будет использовать SMB 3.0.2.

Согласно таблице Windows XP, Windows Server 2003 может использовать SMB 1.0 только для доступа к общим файлам и папкам на сервере, который можно отключить в более новых версиях Windows Server (2012 R2 / 2016). Следовательно, если в инфраструктуре одновременно используются компьютеры под управлением Windows XP (прекращено), Windows Server 2003 / R2 и серверы под управлением Windows Server 2012 R2 / 2016/2019, устаревшие клиенты не смогут получить доступ к файлам и папкам в файле сервер с новой операционной системой.

Если Windows Server 2016/2012 R2 с отключенным SMB v1.0 используется в качестве контроллера домена, клиенты в Windows XP / Server 2003 не смогут получить доступ к каталогам SYSVOL и NETLOGON на контроллерах домена и доступ к AD.

На старых клиентах при попытке подключиться к ресурсу на файловом сервере с отключенным SMB v1 отображается ошибка:

Указанное сетевое имя больше не доступно

Как проверить поддерживаемые версии SMB в Windows?

Давайте посмотрим, как определить, какие версии протокола SMB поддерживаются на вашем компьютере с Windows.

В Windows 10, 8.1 и Windows Server 2019/2016 / 2012R2 вы можете проверить статус различных диалектов протокола SMB с помощью PowerShell:

Get-SmbServerConfiguration | select EnableSMB1Protocol,EnableSMB2Protocol

Get-SmbServerConfiguration | выберите EnableSMB1Protocol, EnableSMB2Protocol

Эта команда вернула протокол SMB1 отключенным (

EnableSMB1Protocol=False

) и включенным протоколом SMB2 и SMB3 (

EnableSMB1Protocol=True

).

Обратите внимание, что протоколы SMBv3 и SMBv2 тесно связаны. SMBv3 или SMBv2 нельзя отключить или включить отдельно. Они всегда включаются / отключаются только вместе, потому что для этого используется стек.

В Windows 7, Vista, Windows Server 2008 R2 / 2008:

Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty

Сетевой протокол Server Message Block (SMB) используется для совместного использования удаленного доступа к файлам, принтерам и другим устройствам через TCP-порт 445. В этой статье мы рассмотрим, какие версии (диалекты) SMB доступны в разных версиях Windows. (и как они соотносятся с версиями самбы в Linux); как определить версию SMB на вашем компьютере; и как включить / отключить клиентов и серверы SMBv1, SMBv2 и SMBv3.

Версии протокола SMB в Windows

Существует несколько версий протокола SMB (диалектов), которые постоянно появляются в новых версиях Windows:

Samba используется для реализации протокола SMB в системах Linux / Unix. В скобках мы указали, в каких версиях самбы поддерживается каждый диалект SMB.

  • CIFS – Windows NT 4.0;
  • SMB 1.0 – Windows 2000;
  • SMB 2.0 – Windows Server 2008 и Windows Vista SP1 (поддерживается в Samba 3.6);
  • SMB 2.1 – Windows Server 2008 R2 и Windows 7 (поддерживается в Samba 4.0);
  • SMB 3.0 – Windows Server 2012 и Windows 8 (поддерживается в Samba 4.2);
  • SMB 3.02 – Windows Server 2012 R2 и Windows 8.1 (не поддерживается в Samba);
  • SMB 3.1.1 – Windows Server 2016 и Windows 10 (не поддерживается в Samba).

Начиная с Samba 4.14, по умолчанию используется SMB2.1.

В сети SMB между клиентом и сервером используется максимальная версия протокола, поддерживаемая как клиентом, так и сервером.

Ниже представлена ​​сводная таблица, по которой вы можете определить версию протокола SMB, выбранную при взаимодействии с разными версиями Windows:

Операционная система Win 10, Сервер 2016 Windows 8.1,
Сервер 2012 R2
Windows 8,
Сервер 2012
Windows 7,
Сервер 2008 R2
Виндоус виста,
Сервер 2008
Windows XP, Server 2003 и более ранние версии
Windows 10 ,
Windows Server 2016
SMB 3.1.1 SMB 3.02 МСП 3.0 SMB 2.1 МСБ 2.0 SMB 1.0
Windows 8.1 ,
Сервер 2012 R2
SMB 3.02 SMB 3.02 МСП 3.0 SMB 2.1 МСБ 2.0 SMB 1.0
Windows 8 ,
Сервер 2012
МСП 3.0 МСП 3.0 МСП 3.0 SMB 2.1 МСБ 2.0 SMB 1.0
Windows 7,
Сервер 2008 R2
SMB 2.1 SMB 2.1 SMB 2.1 SMB 2.1 МСБ 2.0 SMB 1.0
Виндоус виста,
Сервер 2008
МСБ 2.0 МСБ 2.0 МСБ 2.0 МСБ 2.0 МСБ 2.0 SMB 1.0
Windows XP, 2003 и ранее SMB 1.0 SMB 1.0 SMB 1.0 SMB 1.0 SMB 1.0 SMB 1.0

Например, когда клиентский компьютер Windows 8.1 подключается к файловому серверу Windows Server 2016, он будет использовать SMB 3.0.2.

Согласно таблице Windows XP, Windows Server 2003 может использовать SMB 1.0 только для доступа к общим файлам и папкам на сервере, который можно отключить в более новых версиях Windows Server (2012 R2 / 2016). Следовательно, если в инфраструктуре одновременно используются компьютеры под управлением Windows XP (прекращено), Windows Server 2003 / R2 и серверы под управлением Windows Server 2012 R2 / 2016/2019, устаревшие клиенты не смогут получить доступ к файлам и папкам в файле сервер с новой операционной системой.

Если Windows Server 2016/2012 R2 с отключенным SMB v1.0 используется в качестве контроллера домена, клиенты в Windows XP / Server 2003 не смогут получить доступ к каталогам SYSVOL и NETLOGON на контроллерах домена и доступ к AD.

На старых клиентах при попытке подключиться к ресурсу на файловом сервере с отключенным SMB v1 отображается ошибка:

Указанное сетевое имя больше не доступно

Как проверить поддерживаемые версии SMB в Windows?

Давайте посмотрим, как определить, какие версии протокола SMB поддерживаются на вашем компьютере с Windows.

В Windows 10, 8.1 и Windows Server 2019/2016 / 2012R2 вы можете проверить статус различных диалектов протокола SMB с помощью PowerShell:

Get-SmbServerConfiguration | select EnableSMB1Protocol,EnableSMB2Protocol

Get-SmbServerConfiguration | выберите EnableSMB1Protocol, EnableSMB2Protocol

Эта команда вернула протокол SMB1 отключенным (

EnableSMB1Protocol=False

) и включенным протоколом SMB2 и SMB3 (

EnableSMB1Protocol=True

).

Обратите внимание, что протоколы SMBv3 и SMBv2 тесно связаны. SMBv3 или SMBv2 нельзя отключить или включить отдельно. Они всегда включаются / отключаются только вместе, потому что для этого используется стек.

В Windows 7, Vista, Windows Server 2008 R2 / 2008:

sc.exe query mrxsmb10

Если этот раздел реестра не содержит параметров с именами SMB1 или SMB2, протоколы SMB1 и SMB2 включены по умолчанию.

проверить, какие версии smb включены в windows

Даже в этих версиях Windows вы можете проверить, какие диалекты SMB можно использовать в качестве клиента, с помощью команд:

sc.exe query mrxsmb20

SERVICE_NAME: mrxsmb10 TYPE: 2 FILE_SYSTEM_DRIVER STATUS: 4 RUNNING (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN) WIN32_EXIT_CODE: 0 (0x0) SERVICE_EXIT_CODE: 0 (WOx0) CHINT

STATE=4 Running

SERVICE_NAME: mrxsmb20 TYPE: 2 FILE_SYSTEM_DRIVER STATUS: 4 RUNNING (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN) WIN32_EXIT_CODE: 0 (0x0) SERVICE_EXIT_CODE: 0 (0xA) 0 CHECKINT

В обоих случаях службы работают (

Get-SMBConnection

). Это означает, что Windows может подключаться как к серверам SMBv1, так и к SMBv2.

Вывести используемые версии SMB с помощью Get-SMBConnection

Как мы уже говорили ранее, компьютеры, обменивающиеся данными по SMB, используют максимальную версию, поддерживаемую как клиентом, так и сервером. Вы можете использовать командлет PowerShell

Get-SmbConnection -ServerName servername

, чтобы определить версию SMB, используемую для доступа к удаленному компьютеру

Get-SmbConnection | ft ServerName,ShareName,Dialect,Encrypted,UserName

:

Get-SMBConnection печатает версии smb, используемые для подключения в PowerShell

Версия SMB, используемая для подключения к удаленному серверу (ServerName), указана в столбце Dialect.

вы можете просмотреть информацию о версиях SMB, используемых для доступа к определенному серверу:

$ sudo smbstatus

Если вы хотите узнать, используется ли шифрование SMB (введенное в SMB 3.0), запустите:

Get-SmbSession | Select-Object -ExpandProperty Dialect | Sort-Object -Unique

В Linux вы можете увидеть список SMB-соединений и диалектов, используемых в самбе, с помощью команды:

Set-SmbServerConfiguration –AuditSmb1Access $true

Чтобы просмотреть на стороне сервера список версий протокола SMB, используемых клиентами, и количество клиентов, используемых конкретной версией протокола SMB, выполните команду:

Get-WinEvent -LogName Microsoft-Windows-SMBServer/Audit

Get-SmbSession Получить количество клиентов, использующих разные версии SMB

В нашем примере к серверу подключено 825 клиентов с использованием SMB 2.1 (Windows 7 / Windows Server 2008 R2) и 12 клиентов SMB 3.02.

вы можете использовать PowerShell, чтобы включить управление версиями SMB, используемую для подключения:

Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol

Затем события подключения можно получить из журналов средства просмотра событий:

Set-SmbServerConfiguration -EnableSMB1Protocol $false

Об опасности использования SMBv1

В последние годы Microsoft систематически отключает устаревший протокол SMB 1.0 из соображений безопасности. Это связано с большим количеством критических уязвимостей в этом протоколе (вспомните историю со вспышками программ-вымогателей wannacrypt и petya, которые использовали уязвимость в протоколе SMBv1). Microsoft и другие ИТ-компании настоятельно рекомендуют вам прекратить его использование.

Однако отключение SMBv1 может вызвать проблемы с доступом к общим файлам и папкам в более новых версиях Windows 10 (Windows Server 2016/2019) из устаревших клиентов (Windows XP, Server 2003), сторонних операционных систем (Mac OSX 10.8 Mountain Lion, Snow Leopard, Mavericks, старые версии Linux), различные старые устройства NAS.

Если в вашей сети не осталось устаревших устройств, поддерживающих только SMBv1, обязательно отключите эту версию диалекта в Windows.

Если у вас есть клиенты под управлением Windows XP, Windows Server 2003 или других устройств, которые поддерживают только SMBv1 в вашей сети, вам необходимо как можно скорее полностью обновить или изолировать их.

Включение и отключение SMBv1, SMBv2 и SMBv3 в Windows

Давайте рассмотрим способы включения и отключения разных версий SMB в Windows. Мы пытаемся включить SMB-клиент и сервер отдельно (это разные компоненты).

Windows 10, 8.1, Windows Server 2019/2016 / 2012R2:

Отключите клиент и сервер SMBv1:

Enable-WindowsOptionalFeature -Online -FeatureName smb1protocol

Отключить только сервер SMBv1:

Set-SmbServerConfiguration -EnableSMB1Protocol $true

Включите клиент и сервер SMBv1:

Set-SmbServerConfiguration -EnableSMB2Protocol $false

Включить только сервер SMBv1:

Set-SmbServerConfiguration -EnableSMB2Protocol $true

Узнайте больше о протоколе SMBv1 в Windows 10 и Windows Server 2016/2019.

Отключите серверы SMBv2 и SMBv3:

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

Включите SMBv2 и SMBv3 Server:

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

Set-SmbServerConfiguration - PowerShell отключает SMBv2 и SMBv3

Windows 7, Vista, Windows Server 2008 R2 / 2008:

Отключить сервер SMBv1:

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

отключить сервер smbv1 в Windows 7 через PowerShell

Включите сервер SMBv1:

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

Отключить клиент SMBv1:

конфигурация sc.exe lanmanworkstation зависит от = bowser / mrxsmb20 / nsi
sc.exe config mrxsmb10 start = отключено

Включите клиент SMBv1:

конфигурация sc.exe lanmanworkstation зависит от Bowser / mrxsmb10 / mrxsmb20 / nsi
sc.exe config mrxsmb10 start = auto

Отключите сервер SMBv2:

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

Включить сервер SMBv2

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

Отключите клиент SMBv2:

конфигурация sc.exe lanmanworkstation зависит от = bowser / mrxsmb10 / nsi
sc.exe config mrxsmb20 start = отключено

Включите клиент SMBv2:

конфигурация sc.exe lanmanworkstation зависит от Bowser / mrxsmb10 / mrxsmb20 / nsi
sc.exe config mrxsmb20 start = auto

Чтобы отключить сервер SMBv1 на всех компьютерах, независимо от версии Windows, вы можете распространить значение реестра REG_DWORD с именем SMB1 и значение 0 (HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ LanmanServer \ Parameters) через GPO.

Чтобы отключить SMBv2, установите параметр SMB2 = 0 в той же ветви.

Чтобы отключить клиент SMBv1, вам необходимо распространить следующий раздел реестра:

  • Ключ: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ mrxsmb10
  • Имя: Начало
  • Тип: REG_DWORD
  • Значение: 4

При отключении поддержки общего доступа к файлам SMB 1.0 / CIFS в Windows вы можете столкнуться с ошибкой «0x80070035, сетевой путь не найден», ошибкой доступа к общим папкам и проблемами обнаружения компьютера в непосредственной близости от сети. В этом случае вместо службы обозревателя компьютеров нужно использовать службу обнаружения (ссылки).

Источник изображения: winitpro.ru.pspath}

Если этот раздел реестра не содержит параметров с именами SMB1 или SMB2, протоколы SMB1 и SMB2 включены по умолчанию.

проверить, какие версии smb включены в windows

Даже в этих версиях Windows вы можете проверить, какие диалекты SMB можно использовать в качестве клиента, с помощью команд:

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

SERVICE_NAME: mrxsmb10 TYPE: 2 FILE_SYSTEM_DRIVER STATUS: 4 RUNNING (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN) WIN32_EXIT_CODE: 0 (0x0) SERVICE_EXIT_CODE: 0 (WOx0) CHINT

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

SERVICE_NAME: mrxsmb20 TYPE: 2 FILE_SYSTEM_DRIVER STATUS: 4 RUNNING (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN) WIN32_EXIT_CODE: 0 (0x0) SERVICE_EXIT_CODE: 0 (0xA) 0 CHECKINT

В обоих случаях службы работают ([*]). Это означает, что Windows может подключаться как к серверам SMBv1, так и к SMBv2.

Вывести используемые версии SMB с помощью Get-SMBConnection

Как мы уже говорили ранее, компьютеры, обменивающиеся данными по SMB, используют максимальную версию, поддерживаемую как клиентом, так и сервером. Вы можете использовать командлет PowerShell [*], чтобы определить версию SMB, используемую для доступа к удаленному компьютеру [*]:

Get-SMBConnection печатает версии smb, используемые для подключения в PowerShell

Версия SMB, используемая для подключения к удаленному серверу (ServerName), указана в столбце Dialect.

вы можете просмотреть информацию о версиях SMB, используемых для доступа к определенному серверу:

[*]

Если вы хотите узнать, используется ли шифрование SMB (введенное в SMB 3.0), запустите:

[*]

В Linux вы можете увидеть список SMB-соединений и диалектов, используемых в самбе, с помощью команды:

[*]

Чтобы просмотреть на стороне сервера список версий протокола SMB, используемых клиентами, и количество клиентов, используемых конкретной версией протокола SMB, выполните команду:

[*]

Get-SmbSession Получить количество клиентов, использующих разные версии SMB

В нашем примере к серверу подключено 825 клиентов с использованием SMB 2.1 (Windows 7 / Windows Server 2008 R2) и 12 клиентов SMB 3.02.

вы можете использовать PowerShell, чтобы включить управление версиями SMB, используемую для подключения:

[*]

Затем события подключения можно получить из журналов средства просмотра событий:

[*]

Об опасности использования SMBv1

В последние годы Microsoft систематически отключает устаревший протокол SMB 1.0 из соображений безопасности. Это связано с большим количеством критических уязвимостей в этом протоколе (вспомните историю со вспышками программ-вымогателей wannacrypt и petya, которые использовали уязвимость в протоколе SMBv1). Microsoft и другие ИТ-компании настоятельно рекомендуют вам прекратить его использование.

Однако отключение SMBv1 может вызвать проблемы с доступом к общим файлам и папкам в более новых версиях Windows 10 (Windows Server 2016/2019) из устаревших клиентов (Windows XP, Server 2003), сторонних операционных систем (Mac OSX 10.8 Mountain Lion, Snow Leopard, Mavericks, старые версии Linux), различные старые устройства NAS.

Если в вашей сети не осталось устаревших устройств, поддерживающих только SMBv1, обязательно отключите эту версию диалекта в Windows.

Если у вас есть клиенты под управлением Windows XP, Windows Server 2003 или других устройств, которые поддерживают только SMBv1 в вашей сети, вам необходимо как можно скорее полностью обновить или изолировать их.

Включение и отключение SMBv1, SMBv2 и SMBv3 в Windows

Давайте рассмотрим способы включения и отключения разных версий SMB в Windows. Мы пытаемся включить SMB-клиент и сервер отдельно (это разные компоненты).

Windows 10, 8.1, Windows Server 2019/2016 / 2012R2:

Отключите клиент и сервер SMBv1:
[*]

Отключить только сервер SMBv1:
[*]

Включите клиент и сервер SMBv1:
[*]

Включить только сервер SMBv1:
[*]

Узнайте больше о протоколе SMBv1 в Windows 10 и Windows Server 2016/2019.

Отключите серверы SMBv2 и SMBv3:
[*]

Включите SMBv2 и SMBv3 Server:
[*]

Set-SmbServerConfiguration - PowerShell отключает SMBv2 и SMBv3

Windows 7, Vista, Windows Server 2008 R2 / 2008:

Отключить сервер SMBv1:

[*]

отключить сервер smbv1 в Windows 7 через PowerShell

Включите сервер SMBv1:
[*]

Отключить клиент SMBv1:

конфигурация sc.exe lanmanworkstation зависит от = bowser / mrxsmb20 / nsi
sc.exe config mrxsmb10 start = отключено

Включите клиент SMBv1:

конфигурация sc.exe lanmanworkstation зависит от Bowser / mrxsmb10 / mrxsmb20 / nsi
sc.exe config mrxsmb10 start = auto

Отключите сервер SMBv2:

[*]

Включить сервер SMBv2

[*]

Отключите клиент SMBv2:

конфигурация sc.exe lanmanworkstation зависит от = bowser / mrxsmb10 / nsi
sc.exe config mrxsmb20 start = отключено

Включите клиент SMBv2:

конфигурация sc.exe lanmanworkstation зависит от Bowser / mrxsmb10 / mrxsmb20 / nsi
sc.exe config mrxsmb20 start = auto

Чтобы отключить сервер SMBv1 на всех компьютерах, независимо от версии Windows, вы можете распространить значение реестра REG_DWORD с именем SMB1 и значение 0 (HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ LanmanServer \ Parameters) через GPO.

Чтобы отключить SMBv2, установите параметр SMB2 = 0 в той же ветви.

Чтобы отключить клиент SMBv1, вам необходимо распространить следующий раздел реестра:

  • Ключ: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ mrxsmb10
  • Имя: Начало
  • Тип: REG_DWORD
  • Значение: 4

При отключении поддержки общего доступа к файлам SMB 1.0 / CIFS в Windows вы можете столкнуться с ошибкой «0x80070035, сетевой путь не найден», ошибкой доступа к общим папкам и проблемами обнаружения компьютера в непосредственной близости от сети. В этом случае вместо службы обозревателя компьютеров нужно использовать службу обнаружения (ссылки).

Источник изображения: winitpro.ru

Сетевой протокол SMB (Server Message Block) используется для предоставления совместного удаленного доступа к файлам, принтерам и другим устройствам через порт TCP 445. В этой статье мы рассмотрим: какие версии (диалекты) протокола SMB доступны в различных версиях Windows (и как они соотносятся с версиями samba в Linux); как определить версию SMB на вашем компьютере; и как включить/отключить клиент и сервер SMBv1, SMBv2 и SMBv3.

Содержание:

  • Версии протокола SMB в Windows
  • Как проверить поддерживаемые версии SMB в Windows?
  • Вывести используемые версии SMB с помощью Get-SMBConnection
  • Об опасности использования SMBv1
  • Включение и отключение SMBv1, SMBv2 и SMBv3 в Windows

Версии протокола SMB в Windows

Есть несколько версии протокола SMB (диалектов), которые последовательно появлялись в новых версиях Windows:

Для реализации протокола SMB в Linux/Unix системах используется samba. В скобках мы указали в каких версиях samba поддерживается каждый диалект SMB.

  • CIFS — Windows NT 4.0;
  • SMB 1.0 — Windows 2000;
  • SMB 2.0 — Windows Server 2008 и Windows Vista SP1 (поддерживается в Samba 3.6);
  • SMB 2.1 — Windows Server 2008 R2 и Windows 7 (поддерживается в Samba 4.0);
  • SMB 3.0 — Windows Server 2012 и Windows 8 (поддерживается в Samba 4.2);
  • SMB 3.02 — Windows Server 2012 R2 и Windows 8. 1 (не поддерживается в Samba);
  • SMB 3.1.1 – Windows Server 2016 и Windows 10 (не поддерживается в Samba).

Начиная с версии Samba 4.14, по умолчанию используется SMB2.1.

При сетевом взаимодействии по протоколу SMB между клиентом и сервером используется максимальная версия протокола, поддерживаемая одновременно и клиентом, и сервером.

Ниже представлена сводная таблица, по которой можно определить версию протокола SMB, которая выбирается при взаимодействии разных версий Windows:

Операционная система Win 10, Server 2016 Windows 8.1,
Server 2012 R2
Windows 8,
Server 2012
Windows 7,
Server 2008 R2
Windows Vista,
Server 2008
Windows XP, Server 2003 и ниже
Windows 10 ,
Windows Server 2016
SMB 3.1.1 SMB 3.02 SMB 3.0 SMB 2.1 SMB 2.0 SMB 1.0
Windows 8.1 ,
Server 2012 R2
SMB 3.02 SMB 3.02 SMB 3.0 SMB 2.1 SMB 2.0 SMB 1.0
Windows 8 ,
Server 2012
SMB 3.0 SMB 3.0 SMB 3.0 SMB 2.1 SMB 2.0 SMB 1.0
Windows 7,
Server 2008 R2
SMB 2.1 SMB 2.1 SMB 2.1 SMB 2.1 SMB 2.0 SMB 1.0
Windows Vista,
Server 2008
SMB 2.0 SMB 2.0 SMB 2.0 SMB 2.0 SMB 2.0 SMB 1.0
Windows XP, 2003 и ниже SMB 1.0 SMB 1.0 SMB 1.0 SMB 1.0 SMB 1.0 SMB 1.0

К примеру, при подключении клиентского компьютера с Windows 8.1 к файловому серверу с Windows Server 2016 будет использоваться протокол SMB 3.0.2.

Согласно таблице Windows XP, Windows Server 2003 для доступа к общим файлам и папкам на сервере могут использовать только SMB 1.0, который в новых версиях Windows Server (2012 R2 / 2016) может быть отключен. Таким образом, если в вашей инфраструктуре одновременно используются компьютеры с Windows XP (снятой с поддержки), Windows Server 2003/R2 и сервера с Windows Server 2012 R2/2016/2019, устаревшие клиенты не смогут получить доступ к файлам и папкам на файловом сервере с новой ОС.

Если Windows Server 2016/2012 R2 с отключенным SMB v1.0 используется в качестве контроллера домена, значить клиенты на Windows XP/Server 2003 не смогут получить доступ к каталогам SYSVOL и NETLOGON на контроллерах домена и авторизоваться в AD.

На старых клиентах при попытке подключиться к ресурсу на файловом сервере с отключенным SMB v1 появляется ошибка:

The specified network name is no longer available

Как проверить поддерживаемые версии SMB в Windows?

Рассмотрим, как определить, какие версии протокола SMB поддерживаются на вашем компьютере Windows.

В Windows 10, 8.1 и Windows Server 2019/2016/2012R2 вы можете проверить состояние различных диалектов SMB протокола с помощью PowerShell:

Get-SmbServerConfiguration | select EnableSMB1Protocol,EnableSMB2Protocol

Get-SmbServerConfiguration | select EnableSMB1Protocol,EnableSMB2Protocol

Данная команда вернула, что протокол SMB1 отключен (
EnableSMB1Protocol=False
), а протоколы SMB2 и SMB3 включены (
EnableSMB1Protocol=True
).

Обратите внимание, что протоколы SMBv3 и SMBv2 тесно связаны между собой. Нельзя отключить или включить отдельно SMBv3 или SMBv2. Они всегда включаются/отключаются только совместно, т.к. используют один стек.

В Windows 7, Vista, Windows Server 2008 R2/2008:

Get-Item HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters | ForEach-Object {Get-ItemProperty $_.pspath}

Если в данной ветке реестра нет параметров с именами SMB1 или SMB2, значить протоколы SMB1 и SMB2 по умолчанию включены.

проверить какие версии smb включены в windows

Также в этих версиях Windows вы можете проверить, какие диалекты SMB разрешено использовать в качестве клиентов с помощью команд:

sc.exe query mrxsmb10

SERVICE_NAME: mrxsmb10
TYPE : 2 FILE_SYSTEM_DRIVER
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0

sc.exe query mrxsmb20

SERVICE_NAME: mrxsmb20
TYPE : 2 FILE_SYSTEM_DRIVER
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0

В обоих случаях службы запущены (
STATE=4 Running
). Значит Windows может подключаться как к SMBv1, так и к SMBv2 серверам.

Вывести используемые версии SMB с помощью Get-SMBConnection

Как мы говорили раньше, компьютеры при взаимодействии по протоколу SMB используют максимальную версию, поддерживаемую как клиентом, так и сервером. Для определения версии SMB, используемой для доступа к удаленному компьютеру можно использовать командлет PowerShell
Get-SMBConnection
:

Get-SMBConnection вывести в powershell версии smb, исопльзуемые для подключения

Версия SMB, используемая для подключения к удаленному серверу (ServerName) указана в столбце Dialect.

Можно вывести информацию о версиях SMB, используемых для доступа к конкретному серверу:

Get-SmbConnection -ServerName servername

Если нужно отобразить, используется ли SMB шифрование (появилось в SMB 3.0), выполните:

Get-SmbConnection | ft ServerName,ShareName,Dialect,Encrypted,UserName

В Linux вывести список SMB подключения и используемые диалекты в samba можно командой:

$ sudo smbstatus

Чтобы на стороне сервера вывести список используемых клиентами версий протокола SMB и количество клиентов, используемых ту или иную версию протокола SMB, выполните команду:

Get-SmbSession | Select-Object -ExpandProperty Dialect | Sort-Object -Unique

Get-SmbSession Получить количество клиентов, использующих разные версии SMB

В нашем примере имеется 825 клиентов, подключенных к серверу с помощью SMB 2.1 (Windows 7/Windows Server 2008 R2) и 12 клиентов SMB 3.02.

С помощью PowerShell можно включить аудит версий SMB, используемых для подключения:

Set-SmbServerConfiguration –AuditSmb1Access $true

События подключения затем можно извлечь из журналов Event Viewer с помощью PowerShell:

Get-WinEvent -LogName Microsoft-Windows-SMBServer/Audit

Об опасности использования SMBv1

Последние несколько лет Microsoft из соображений безопасности планомерно отключает устаревший протокол SMB 1.0. Связано это с большим количеством критических уязвимостей в этом протоколе (вспомните историю с эпидемиями вирусов-шифровальщиков wannacrypt и petya, которые использовали уязвимость именно в протоколе SMBv1). Microsoft и другие IT компании настоятельно рекомендуют отказаться от его использования.

Однако отключение SMBv1 может вызвать проблемы с доступом к общий файлам и папкам на новых версиях Windows 10 (Windows Server 2016/2019) с устаревших версий клиентов (Windows XP, Server 2003), сторонних ОС (Mac OSX 10.8 Mountain Lion, Snow Leopard, Mavericks, старые версии Linux), различных старых NAS устройствах.

Если в вашей сети не осталось legacy устройств с поддержкой только SMBv1, обязательно отключайте эту версию диалекта в Windows.

В том случае, если в вашей сети остались клиенты с Windows XP, Windows Server 2003 или другие устройства, которые поддерживают только SMBv1, их нужно как можно скорее обновить или тщательно изолировать.

Включение и отключение SMBv1, SMBv2 и SMBv3 в Windows

Рассмотрим способы включения, отключения различных версий SMB в Windows. Мы рассматриваем отдельно включение клиента и сервера SMB (это разные компоненты).

Windows 10, 8.1, Windows Server 2019/2016/2012R2:

Отключить клиент и сервер SMBv1:
Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol

Отключить только SMBv1 сервер:
Set-SmbServerConfiguration -EnableSMB1Protocol $false

Включить клиент и сервер SMBv1:
Enable-WindowsOptionalFeature -Online -FeatureName smb1protocol

Включить только SMBv1 сервер:
Set-SmbServerConfiguration -EnableSMB1Protocol $true

Отключить сервер SMBv2 и SMBv3:
Set-SmbServerConfiguration -EnableSMB2Protocol $false

Включить сервер SMBv2 и SMBv3:
Set-SmbServerConfiguration -EnableSMB2Protocol $true

Set-SmbServerConfiguration - powershell отключить SMBv2 и SMBv3

Windows 7, Vista, Windows Server 2008 R2/2008:

Отключить SMBv1 сервер:

Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" SMB1 -Type DWORD -Value 0 –Force

отключить smbv1 сервер в windows 7 через powershell

Включить SMBv1 сервер:
Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" SMB1 -Type DWORD -Value 1 –Force

Отключить SMBv1 клиент:

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

Включить SMBv1 клиент:

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

Отключить SMBv2 сервер:

Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" SMB2 -Type DWORD -Value 0 -Force

Включить SMBv2 сервер

Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" SMB2 -Type DWORD -Value 1 –Force

Отключить SMBv2 клиент:

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

Включить SMBv2 клиент:

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

Для отключения сервера SMBv1 на всех компьютерах независимо от версии Windows можно распространить параметр реестра типа REG_DWORD с именем SMB1 и значением 0 (HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters)на через GPO.

Для отключения SMBv2 нужно в этой же ветке установить параметр SMB2=0.

Для отключения SMBv1 клиента нужно распространить такой параметр реестра:

  • Key: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesmrxsmb10
  • Name: Start
  • Type: REG_DWORD
  • Value: 4

При отключении SMB 1.0/CIFS File Sharing Support в Windows вы можете столкнуться с ошибкой “0x80070035, не найден сетевой путь”, ошибкой при доступе к общим папкам, и проблемами обнаружения компьютеров в сетевом окружении. В этом случае вместо служба обозревателя компьютеров (Computer Browser) нужно использовать службы обнаружения (линк).

Для Windows 8 и Windows Server 2012

В Windows 8 и Windows Server 2012 появился новый командлет Windows PowerShell Set-SMBServerConfiguration. Он позволяет включать или отключать протоколы SMB версии 1, 2 и 3 на сервере.

Примечания. При включении или отключении протокола SMB версии 2 в Windows 8 или Windows Server 2012 также происходит включение или отключение протокола SMB версии 3. Это связано с использованием общего стека для этих протоколов.

После выполнения командлета Set-SMBServerConfiguration перезагрузка компьютера не требуется.

SMB версии 1 на SMB-сервере
Обнаружение: Get-SmbServerConfiguration | Select EnableSMB1Protocol
Отключение: Set-SmbServerConfiguration -EnableSMB1Protocol $false
Включение: Set-SmbServerConfiguration -EnableSMB1Protocol $true

Дополнительные сведения см. в статье блога Серверное хранилище Майкрософт.

SMB версий 2 и 3 на SMB-сервере
Обнаружение: Get-SmbServerConfiguration | Select EnableSMB2Protocol
Отключение: Set-SmbServerConfiguration -EnableSMB2Protocol $false
Включение: Set-SmbServerConfiguration -EnableSMB2Protocol $true

Для Windows 7, Windows Server 2008 R2, Windows Vista и Windows Server 2008

Чтобы включить или отключить протоколы SMB на SMB-сервере с Windows 7, Windows Server 2008 R2, Windows Vista или Windows Server 2008, воспользуйтесь Windows PowerShell или редактором реестра.

Способы с использованием PowerShell

Примечание.

Для этого способа требуется PowerShell 2.0 или более поздней версии.

SMB версии 1 на SMB-сервере

Обнаружение:

Get-Item HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters | ForEach-Object {Get-ItemProperty $_.pspath}

Конфигурация по умолчанию = Enabled (раздел реестра не создается), значение SMB1 не возвращается

Отключение:

Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" SMB1 -Type DWORD -Value 0 –Force

Включение:

Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" SMB1 -Type DWORD -Value 1 –Force

Примечание. После внесения этих изменений компьютер необходимо перезагрузить.

Дополнительные сведения см. в статье блога Серверное хранилище Майкрософт.

SMB версий 2 и 3 на SMB-сервере

Обнаружение:

Get-ItemProperty HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters | ForEach-Object {Get-ItemProperty $_.pspath}

Отключение:

Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" SMB2 -Type DWORD -Value 0 –Force

Включение:

Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" SMB2 -Type DWORD -Value 1 –Force

Примечание. После внесения этих изменений компьютер необходимо перезагрузить.

Редактор реестра

Внимание! В статье содержатся сведения об изменении реестра. Перед внесением изменений рекомендуется создать резервную копию реестра. и изучить процедуру его восстановления на случай возникновения проблемы. Дополнительные сведения о создании резервной копии, восстановлении и изменении реестра см. в указанной ниже статье базы знаний Майкрософт.

322756 Как создать резервную копию и восстановить реестр в Windows

Чтобы включить или отключить протокол SMB версии 1 на SMB-сервере, настройте следующий раздел реестра:

Подраздел реестра: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters
Запись реестра: SMB1
REG_DWORD: 0 = отключено
REG_DWORD: 1 = включено
По умолчанию: 1 = включен (не создан раздел реестра)

Чтобы включить или отключить протокол SMB версии 2 на SMB-сервере, настройте следующий раздел реестра:

Подраздел реестра:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters
Запись реестра: SMB2
REG_DWORD: 0 = отключено
REG_DWORD: 1 = включено
По умолчанию: 1 = включен (не создан раздел реестра)

Примечание. После внесения этих изменений компьютер необходимо перезагрузить.

Need help to Enable/Disable SMB v 1.0 in Windows? We can help you.

As part of our Server Management Services, we help our customers with software installations regularly.

Today, let’s see how our Support Engineers Enable/Disable SMB v 1.0 in Windows.

Why is Server Message Block 1.0 (SMBv1) network protocol disabled by default?

The Server Message Block 1.0 (SMBv1) network protocol is disabled by default in Windows Server 2016/2019 and Windows 10.

  • If there are no SMB 1.x clients left, we completely disable SMBv1 on all Windows devices.
  • By disabling SMB 1.0, we protect Windows computers from a wide range of vulnerabilities in this legacy protocol.
  • As a result, the devices will use new, more efficient, secure and functional versions of the SMB protocol when accessing network shares.

On the other hand, old client versions can access network shared folders only by using SMB v1.0 protocol. If there are no such clients in the network, we can completely disable SMB 1.0 on the side of file servers and client desktops.

Enable/Disable SMB v 1.0 in Windows

Before enabling or disabling the SMB 1.0 driver, we make sure that there are no legacy clients that uses it in the network.

Auditing Shared Folder Access via SMB v1.0

To do this, we enable the audit of file server access over SMB v1.0 using the following PowerShell command:

Set-SmbServerConfiguration –AuditSmb1Access $true

Also, after a couple of days, we open the Event Viewer on the server and check the log in Applications and Services -> Microsoft -> Windows -> SMBServer -> Audit. Check if any clients has access to the file server over SMB1.

To display the list of events from this event log we use the command:

Get-WinEvent -LogName Microsoft-Windows-SMBServer/Audit

Here, an event with EventID 3000 from the SMBServer source is seen in the log. The event indicates that the client 192.168.1.10 is trying to access the server using the SMB1 protocol

SMB1 access
Client Address: (IP address)
Guidance:
This event indicates that a client attempted to access the server using SMB1. To stop auditing SMB1 access, use the Windows PowerShell cmdlet Set-SmbServerConfiguration.

We have to find this computer or device on the network and update the OS or firmware to a version that supports newer SMB protocol versions.

Enable/Disable SMB v 1.0 in Windows Server 2016/2019

To enable support for the SMBv1 client protocol in newer versions of Windows Server, we install separate SMB 1.0/CIFS File Sharing Support feature.

It is possible either by using Server Manager or through PowerShell.

Check if SMBv1 is enabled using the PowerShell command:

Get-WindowsFeature | Where-Object {$_.name -eq “FS-SMB1”} | ft Name,Installstate

To install the FS-SMB1 feature, run:

Install-WindowsFeature FS-SMB1

Similarly, to uninstall the SMBv1 client feature (requires a reboot), run:

Uninstall-WindowsFeature –Name FS-SMB1 –Remove

Another PowerShell command that removes the SMB1Protocol feature is:

Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -Remove

For the server to handle SMBv1.0 client access, enable SMBv1 support at the SMB file server level in addition to the FS-SMB1 component.

Furthermore, to check, run:

Get-SmbServerConfiguration

“EnableSMB1Protocol: True” means we have access to shared folders on this server using the SMBv1 protocol.

To disable SMBv1 server support in Windows Server, we run the PowerShell command:

Set-SmbServerConfiguration -EnableSMB1Protocol $false -Force

We make sure using,

Get-SmbServerConfiguration cmdlet

In the same way, to enable SMBv1 support on the server, we run the command:

Set-SmbServerConfiguration -EnableSMB1Protocol $True -Force

On Windows 7/8 and Windows Server 2008 R2/2012, in order to disable the SMB 1.0 client, we need to disable the service and the SMBv1 access driver with the commands:

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

Disabling SMBv1 Client and Server via Group Policy

In an Active Directory domain environment, we can disable SMBv1 on all servers and computers using Group Policies (GPOs).

Since there is no separate SMB configuration policy in the standard Windows Group Policies, we have to disable it through the registry policy.

  1. Open the Group Policy Management console (gpmc.msc), create a new GPO (disableSMBv1) and link it to the OU containing the computers on which we want to disable SMB1
  2. Switch to the policy editing mode. Expand the GPO section Computer Configuration -> Preferences -> Windows Settings -> Registry
  3. Create a new Registry Item with the following setting:

Action: Update Hive: HKEY_LOCAL_MACHINE Key Path: SYSTEMCurrentControlSetServicesLanmanServerParameters Value name: SMB1 Value type: REG_DWORD Value data: 0

This policy will disable support for the SMBv1 server component through the registry on all computers.

Also, to disable the SMB client on domain computers via GPO, create two additional registry parameters:

  • The Start parameter (REG_DWORD type) with value 4 in the registry key HKLMSYSTEMCurrentControlSetservicesmrxsmb10
  • The DependOnService parameter (REG_MULTI_SZ type) with the value Bowser, MRxSmb20, NSI (each value on a new line) in the reg key HKLMSYSTEMCurrentControlSetServicesLanmanWorkstation.

It remains to update the Group Policy settings on the clients (gpupdate /force). After the reboot make sure that the SMBv1 components are completely disabled.

The Security Baseline GPOs from the Microsoft Security Compliance Toolkit have a separate administrative template MS Security Guide (SecGuide.adml and SecGuide.admx files) that have separate options for disabling the SMB server and client:

  • Configure SMB v1 server
  • Configure SMB v1 client driver

[Get our 24/7 support. Our server specialists will keep your servers fast and secure.]

Conclusion

In short, webmasters can easily enable or disable SMB using powershell. Today, we’ve seen by example how Bobcares Support Techs go about to Enable/Disable SMB v 1.0 in Windows.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

GET STARTED

var google_conversion_label = «owonCMyG5nEQ0aD71QM»;

The following post shows detailed steps to enable and disable the Server Message Block (SMB) versions SMBv1, SMBv2 & SMBv3 on the SMB server and SMB client. The SMBv2 protocol was introduced in Windows Vista & Windows Server 2008 and the SMBv3 was introduced in Windows 8 and Windows Server 2012.

The below-given steps apply only to the following Windows versions:

•    Windows Vista Enterprise
•    Windows Vista Business
•    Windows Vista Home Basic
•    Windows Vista Home Premium
•    Windows Vista Ultimate
•    Windows 7 Enterprise
•    Windows 7 Home Basic
•    Windows 7 Home Premium
•    Windows 7 Professional
•    Windows 7 Ultimate
•    Windows Server 2008 Datacenter
•    Windows Server 2008 Enterprise
•    Windows Server 2008 Standard
•    Windows Server 2008 R2 Datacenter
•    Windows Server 2008 R2 Enterprise
•    Windows Server 2008 R2 Standard
•    Windows 8
•    Windows 8 Enterprise
•    Windows 8 Pro
•    Windows Server 2012 Datacenter
•    Windows Server 2012 Essentials
•    Windows Server 2012 Foundation
•    Windows Server 2012 Standard

Important to Note:

It is recommended not to keep the SMBv2 or SMBv3 disabled. It should only be disabled for temporary troubleshooting. Keeping it disabled may deactivate various functions of the windows server. The features which might get deactivated due to disabling SMBv2 & SMBv3 are mentioned below:

Disabling SMBv2 on Windows 7 & Windows Server 2008 R2 will deactivate the below functions:

•    Request compounding – it enables users to send multiple SMB 2 requests as a single network request
•    Larger reads and writes – better use of faster networks
•    Caching of folder and file properties – clients keep local copies of folders and files
•    Durable handles – when a temporary disconnection is there, it enables for connection to transparently rejoin to the server
•    Improved message signing – HMAC SHA-256 replaces MD5 as hashing algorithm
•    Improved scalability for file sharing – increases the no. of users, shares, and open files per server
•    Support for symbolic links
•    Client oplock leasing model – it automatically limits the volume of data transferred in between the client and server, resulting in improved performance on high-latency networks and increasing the scalability of SMB server
•    Large MTU support – for full use of 10-gigabyte (GB) Ethernet
•    Enhanced energy efficiency – clients that have open files to a server can sleep

Disabling SMBv3 on Windows 8 & Windows Server 2012 will deactivate the below as well as above mentioned functions:

•    Transparent Failover – it enables clients to rejoin the cluster nodes during the maintenance or failover without any interruption
•    Scale Out – it allows concurrent access to shared data on all file cluster nodes
•    Multichannel – aggregation of network bandwidth and fault tolerance if multiple paths are available between client and server
•    SMB Direct – adds RDMA networking support for very high performance, with low latency and low CPU utilization
•    Encryption – offers end-to-end encryption and completely defends from snooping on untrustworthy networks
•    Directory Leasing – its caching functionality helps in improving the application response times in branch offices
•    Performance Optimizations – optimizations for small random read/write I/O

Steps to Enable and Disable SMB protocols on the SMB Server

Microsoft Windows 8 and Windows Server 2012 have introduced a new cmdlet [Set-SMBServerConfiguration] in the Windows PowerShell which allows you to enable and disable the SMBv1, SMBv2 & SMBv3 protocols on the server. When you enable or disable the Server Message Block version 2 (SMBv2) in Windows 8 or in Windows Server 2012, automatically the SMBv3 is enabled or disabled, as the same stack is shared by the SMB protocols. Also, there is no need to restart your system once you run the Set-SMBServerConfiguration cmdlet.

Get the current state of the configuration of the SMB server protocol by running the below command:

Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol

Disables the SMBv1 on the SMB server by running the below command:

Set-SmbServerConfiguration -EnableSMB1Protocol $false

Disables the SMBv2 and SMBv3 on the SMB server by running the below command:

Set-SmbServerConfiguration -EnableSMB2Protocol $false

Enables the SMBv1 on the SMB server by running the below command:

Set-SmbServerConfiguration -EnableSMB1Protocol $true

Enables the SMBv2 and SMBv3 on the SMB server by running the below command:

Set-SmbServerConfiguration -EnableSMB2Protocol $true

Steps to Enable and Disable the SMB protocols on SMB Server running Windows 7, Windows Server 2008 R2, Windows Vista, or Windows Server 2008.

Using the Windows PowerShell 2.0 or later version:

Disables the SMBv1 on the SMB server by running the below command:

Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters” SMB1 -Value 0 –Force

Disables the SMBv2 and SMBv3 on the SMB server by running the below command:

Set-ItemProperty –Path “HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters” SMB2 –Value 0 –Force

Enables the SMBv1 on the SMB server by running the below command:

Set-ItemProperty –Path “HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters” SMB1 –Value 1 –Force

Enables the SMBv2 and SMBv3 on the SMB server by running the below command:

Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters” SMB2 -Value 1 -Force

Kindly note that you need to restart your system once you make the changes to the SMB server.

Using Registry Editor:

Important to Note:

•    Before making any changes to the registry, make sure to back up it.

Steps to enable and disable the SMBv1 on the SMB server using the registry:

Registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Registry entry: SMB1
REG_DWORD: 0 = Disabled
REG_DWORD: 1 = Enabled
Default: 1 = Enabled

Steps to enable and disable SMBv2 on the SMB server using the registry:

Registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Registry entry: SMB2
REG_DWORD: 0 = Disabled
REG_DWORD: 1 = Enabled
Default: 1 = Enabled

Steps to Enable and Disable SMB protocols on the SMB client

The below steps apply to Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows 8, and Windows Server 2012.

Disables the SMBv1 on the SMB client by running the below commands:

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

Enables the SMBv1 on the SMB client by running the below commands:

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

Disables the SMBv2 and SMBv3 on the SMB client by running the below commands:

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

Enables the SMBv2 and SMBv3 on the SMB client by running the below commands:

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

Important to Note:

•    The commands be run at a raised command prompt.
•    The system must be restarted once you make these changes.

  • Windows server 2008 r2 standard ограничение памяти
  • Windows server 2003 рабочая станция
  • Windows server 2008 r2 nfs server
  • Windows server 2008 download iso
  • Windows server 2008 r2 максимальный объем оперативной памяти