Как обнаруживать, включать и отключать SMBv1, SMBv2 и SMBv3 в Windows
применимо к: Windows Server 2022, Windows 10, Windows 8.1, Windows 8, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012
В этой статье описывается, как включить и отключить протокол SMB версии 1 (SMBv1), SMB версии 2 (SMB) и SMB версии 3 (SMBv3) на клиентских и серверных компонентах SMB.
Хотя отключение или удаление SMBv1 может вызвать некоторые проблемы совместимости со старыми компьютерами или программами, SMBv1 имеет существенные уязвимости, и мы настоятельно рекомендуем не использовать ее.
Отключение SMB или SMBv3 для устранения неполадок
Мы рекомендуем включить протоколы SMB 2.0 и SMBv3, но может оказаться полезным временно отключить их для устранения неполадок. Дополнительные сведения см. в статье как определить состояние, включить и отключить протоколы SMB на сервере SMB.
в Windows 10, Windows 8.1, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 и Windows Server 2012, отключение SMBv3 деактивирует следующие функциональные возможности:
- Прозрачная отработка отказа — клиенты повторно подключаются без прерывания узлов кластера во время обслуживания или отработки отказа
- Scale Out одновременный доступ к общим данным на всех узлах кластеров файлов
- Многоканальное агрегирование пропускной способности сети и отказоустойчивости при наличии нескольких путей между клиентом и сервером
- SMB Direct — добавляет поддержку сети RDMA для обеспечения высокой производительности с низкой задержкой и низким использованием ЦП.
- Шифрование — обеспечивает сквозное шифрование и защищает от перехвата в ненадежных сетях.
- Аренда каталога — улучшает время отклика приложений в филиалах за счет кэширования
- Оптимизация производительности — оптимизация для небольшого случайного чтения и записи ввода-вывода
в Windows 7 и Windows Server 2008 R2 отключение 2.0 отключает следующие функции:
- Составной запрос — позволяет отправлять несколько запросов SMB в виде одного сетевого запроса.
- Большие операции чтения и записи — лучшее использование более быстрых сетей.
- Кэширование свойств папок и файлов — клиенты сохраняют локальные копии папок и файлов
- Устойчивые дескрипторы. разрешение на прозрачное повторное подключение к серверу при наличии временного отключения
- Улучшенная подпись сообщения — HMAC SHA-256 заменяет MD5 как алгоритм хеширования
- Улучшенная масштабируемость общего доступа к файлам — число пользователей, общих папок и открытых файлов на сервере значительно увеличилось.
- Поддержка символьных ссылок
- Модель нежесткой аренды клиента — ограничивает данные, передаваемые между клиентом и сервером, повышая производительность в сетях с высокой задержкой и повышая масштабируемость сервера SMB.
- Поддержка большого MTU — для полного использования 10 Gigabit Ethernet (GbE)
- Повышение эффективности энергопотребления — клиенты, которые имеют открытые файлы на сервере, могут перейти в спящий режим
протокол smb был впервые появился в Windows Vista и Windows Server 2008, а протокол SMBv3 появился в Windows 8 и Windows Server 2012. Дополнительные сведения о функциях SMB и SMBv3 см. в следующих статьях:
Удаление SMBv1
вот как можно удалить SMBv1 в Windows 10, Windows 8.1, Windows Server 2019, Windows Server 2016 и Windows 2012 R2.
Методы PowerShell
Ниже приведены инструкции по обнаружению, отключению и включению SMBv1 клиента и сервера с помощью команд PowerShell.
Примечание
Компьютер будет перезагружен после выполнения команд PowerShell для отключения или включения SMBv1.
Автоматическое
Get-WindowsOptionalFeature -Online -FeatureName SMB1ProtocolВключен
Disable-WindowsOptionalFeature -Online -FeatureName SMB1ProtocolВключите параметр
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Windows Server 2012 Windows Server 2012 R2, Windows Server 2016, Windows Server 2019: диспетчер сервера метод

чтобы удалить SMBv1 с сервера Windows:
- На диспетчер сервера панели мониторинга сервера, на котором нужно удалить SMBv1, в разделе Настройка этого локального серверавыберите Добавить роли и компоненты.
- На странице перед началом работы выберите Запуск мастера удаления ролей и компонентов, а затем на следующей странице нажмите кнопку Далее.
- На странице Выбор целевого сервера в разделе пул серверовустановите флажок Сервер, для которого требуется удалить компонент, и нажмите кнопку Далее.
- На странице Удаление ролей сервера нажмите кнопку Далее.
- На странице Удаление компонентов снимите флажок для поддержки общего доступа к файлам SMB 1.0/CIFS и нажмите кнопку Далее.
- На странице Подтверждение выборов для удаления убедитесь, что эта функция указана в списке, а затем нажмите кнопку Удалить.
Windows 8.1 и Windows 10: метод "установка и удаление программ"

чтобы отключить SMBv1 для Windows 8.1 и Windows 10:
- Откройте Панель управления, выберите раздел Программы и компоненты.
- в разделе панель управления главнаявыберите Windows включить или отключить компоненты , чтобы открыть окно функции Windows .
- в поле Windows функции прокрутите вниз список, снимите флажок для поддержки общего доступа к файлам SMB 1.0/CIFS и нажмите кнопку ок.
- после Windows применения изменений на странице подтверждение выберите перезагрузить сейчас.
Как определить состояние, включить и отключить протоколы SMB на сервере SMB
для Windows 8.1, Windows Server 2012, Windows Server 2012 R2, Windows 10 и Windows Server 2019
в Windows 8 и Windows Server 2012 появился новый командлет Set-смбсерверконфигуратион Windows PowerShell. Командлет позволяет включать или отключать протоколы SMBv1, SMB и SMBv3 на серверном компоненте.
Примечание
при включении или отключении протокола smb в Windows 8 или Windows Server 2012 также включается или отключается SMBv3. Это происходит из-за того, что эти протоколы используют один и тот же стек.
После запуска командлета Set-смбсерверконфигуратион перезагружать компьютер не требуется.
SMBv1 на SMB Server
Автоматическое
Get-SmbServerConfiguration | Select EnableSMB1ProtocolВключен
Set-SmbServerConfiguration -EnableSMB1Protocol $falseВключите параметр
Set-SmbServerConfiguration -EnableSMB1Protocol $true
Дополнительные сведения см. в статье хранилище сервера в корпорации Майкрософт.
SMB V2/V3 на 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 или более поздней версии PowerShell.
SMBv1 на SMB Server
Автоматическое
Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
Конфигурация по умолчанию = включена (не создается именованное значение реестра), поэтому значение SMB1 не будет возвращено.
Включен
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 -Force
Включите параметр
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 1 -Force
Примечание . После внесения этих изменений необходимо перезагрузить компьютер. Дополнительные сведения см. в статье хранилище сервера в корпорации Майкрософт.
2.0/V3 на SMB-сервере
Автоматическое
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
Включен
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 0 -Force
Включите параметр
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 1 -Force
Примечание
После внесения этих изменений необходимо перезагрузить компьютер.
Редактор реестра
Важно!
Внимательно выполните действия, описанные в этом разделе. Неправильное изменение реестра может привести к серьезным проблемам. Перед внесением изменений создайте резервную копию реестра для его восстановления в случае возникновения проблем.
Чтобы включить или отключить SMBv1 на сервере SMB, настройте следующий раздел реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Registry entry: SMB1
REG_DWORD: 0 = Disabled
REG_DWORD: 1 = Enabled
Default: 1 = Enabled (No registry key is created)
Чтобы включить или отключить протокол SMB 2.0 на сервере SMB, настройте следующий раздел реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Registry entry: SMB2
REG_DWORD: 0 = Disabled
REG_DWORD: 1 = Enabled
Default: 1 = Enabled (No registry key is created)
Примечание
После внесения этих изменений необходимо перезагрузить компьютер.
Как определить состояние, включить и отключить протоколы SMB на клиенте SMB
вот как можно обнаружить состояние, включить и отключить протоколы smb в smb-клиенте, на котором работает Windows 10, Windows Server 2019, Windows 8.1, Windows Server 2016, Windows Server 2012 R2 и Windows Server 2012.
Примечание
при включении или отключении протокола smb в Windows 8 или в Windows Server 2012 также включается или отключается SMBv3. Это происходит из-за того, что эти протоколы используют один и тот же стек.
SMBv1 на клиенте SMB
Определение
sc.exe qc lanmanworkstationВключен
sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi sc.exe config mrxsmb10 start= disabledВключите параметр
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi sc.exe config mrxsmb10 start= auto
Дополнительные сведения см. в статье хранилище сервера в корпорации Майкрософт .
SMB/V3 на клиенте SMB
Автоматическое
sc.exe qc lanmanworkstationВключен
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi sc.exe config mrxsmb20 start= disabledВключите параметр
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi sc.exe config mrxsmb20 start= auto
Примечание
- Эти команды необходимо выполнить в командной строке с повышенными привилегиями.
- После внесения этих изменений необходимо перезагрузить компьютер.
Отключение SMBv1 с помощью групповая политика
В этом разделе рассказывается, как использовать групповая политика для отключения SMBv1. Этот метод можно использовать в разных версиях Windows.
Отключить сервер SMBv1
Эта процедура настраивает следующий новый элемент в реестре:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
- Запись реестра: SMB1
- REG_DWORD: 0 = отключено
Чтобы использовать групповая политика для настройки, выполните следующие действия.
Откройте Консоль управления групповыми политиками. Щелкните правой кнопкой мыши объект групповой политики (GPO), который должен содержать новый элемент настройки, а затем щелкните Изменить.
в дереве консоли в разделе конфигурация компьютераразверните папку предпочтения , а затем разверните папку Windows Параметры .
Щелкните правой кнопкой мыши узел реестра , наведите указатель на пункт создатьи выберите пункт Реестр.

В диалоговом окне « Свойства нового реестра » выберите следующие параметры.
- Действие: обновление
- Hive: HKEY_LOCAL_MACHINE
- Путь к ключу: систем\куррентконтролсет\сервицес\ланмансервер\параметерс
- Имя значения: SMB1
- Тип значения: REG_DWORD
- Данные значения: 0

Эта процедура отключает серверные компоненты SMBv1. Этот групповая политика должен применяться ко всем необходимым рабочим станциям, серверам и контроллерам домена в домене.
Примечание
фильтры WMI также можно настроить таким образом, чтобы исключить неподдерживаемые операционные системы или выбранные исключения, например Windows XP.
Важно!
будьте внимательны при внесении этих изменений на контроллерах домена, на которых устаревшие Windows XP или более ранних версий Linux и сторонних системах (не поддерживающих smb или SMBv3) не нуждаются в доступе к SYSVOL или другим общим папкам, в которых отключен SMB v1.
Отключить клиент SMBv1
Чтобы отключить клиент SMBv1, необходимо обновить раздел реестра Services, чтобы отключить запуск MRxSMB10 , а затем зависимость от MRxSMB10 должна быть удалена из записи для LanmanWorkstation , чтобы ее можно было запустить нормально, не требуя запуска MRxSMB10 .
Это руководство обновляет и заменяет значения по умолчанию в следующих двух элементах реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\mrxsmb10
Запись реестра: Start REG_DWORD: 4= отключено
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation
Запись реестра: депендонсервице REG_MULTI_SZ: "Бовсер", "MRxSmb20", "NSI"
Примечание
Включенная по умолчанию MRxSMB10, которая теперь удалена как зависимость.
Чтобы настроить это с помощью групповая политика, выполните следующие действия.
Откройте Консоль управления групповыми политиками. Щелкните правой кнопкой мыши объект групповой политики, который должен содержать новый элемент предпочтения, и выберите команду изменить.
в дереве консоли в разделе конфигурация компьютераразверните папку предпочтения , а затем разверните папку Windows Параметры .
Щелкните правой кнопкой мыши узел реестра , наведите указатель на пункт создатьи выберите пункт Реестр.
В диалоговом окне « Свойства нового реестра » выберите следующие параметры.
- Действие: обновление
- Hive: HKEY_LOCAL_MACHINE
- Путь к ключу: SYSTEM\CurrentControlSet\services\mrxsmb10
- Имя значения: начало
- Тип значения: REG_DWORD
- Данные значения: 4

Затем удалите зависимость от отключенной MRxSMB10 .
В диалоговом окне « Свойства нового реестра » выберите следующие параметры.
- Действие: Replace
- Hive: HKEY_LOCAL_MACHINE
- Путь к ключу: систем\куррентконтролсет\сервицес\ланманворкстатион
- Имя значения: депендонсервице
- Тип значения: REG_MULTI_SZ
- Данные значения:
- бовсер
- MRxSmb20
- NSI
Примечание
Эти три строки не будут содержать маркеры (см. следующий снимок экрана).

значение по умолчанию включает в себя MRxSMB10 во многих версиях Windows, поэтому, заменяя их строкой с несколькими значениями, она действует путем удаления MRxSMB10 в качестве зависимости для LanmanWorkstation и перехода от четырех значений по умолчанию к этим трем приведенным выше значениям.
Примечание
При использовании консоль управления групповыми политиками не нужно использовать кавычки или запятые. Просто введите каждую запись в отдельные строки.
Перезапустите целевые системы, чтобы завершить отключение SMB v1.
Аудит использования SMBv1
чтобы определить, какие клиенты пытаются подключиться к серверу SMB с помощью SMBv1, можно включить аудит на Windows Server 2016, Windows 10 и Windows server 2019. вы также можете выполнить аудит на Windows 7 и Windows Server 2008 r2, если установлено ежемесячное обновление май 2018, а также на Windows 8.1 и Windows Server 2012 R2, если установлено ежемесячное обновление за июль 2017.
Включите параметр
Set-SmbServerConfiguration -AuditSmb1Access $trueВключен
Set-SmbServerConfiguration -AuditSmb1Access $falseАвтоматическое
Get-SmbServerConfiguration | Select AuditSmb1Access
если включен аудит SMBv1, в журнале событий Microsoft-Windows-смбсервер\аудит появляется событие 3000, определяющее каждого клиента, который пытается подключиться с помощью SMBv1.
Итоги
Если все параметры находятся в одном объекте групповой политики, групповая политика управления отображает следующие параметры.

Тестирование и проверка
После завершения действий по настройке, описанных в этой статье, можно разрешить репликацию и обновление политики. При необходимости выполните команду gpupdate/Force из командной строки, а затем просмотрите целевые компьютеры, чтобы убедиться, что параметры реестра применены правильно. Убедитесь, что протоколы SMB и SMBv3 работают для всех остальных систем в среде.
Примечание
Не забудьте перезапустить целевые системы.