Всем привет! Сегодня столкнулся с такой проблемой. При построении локальной сети с двумя компьютерами первый (Windows 10) наотрез отказывается видеть другой комп (Windows 7). Все настройки я произвел правильно и открыл общий доступ. Но как потом оказалось, вся проблема в специальном сетевом протоколе SMB 1. Дело в том, что это старый протокол, который работает на олдскульных ОС. И он есть в десятке, но на последних обновлениях операционной системы Microsoft решила его отключить (во имя безопасности).
Симптомы достаточно простые. Вы выполнили все нужные настройки, заходите в раздел сети, а там ничего кроме вашего маршрутизатора не отображается. Бывает такое, что компьютер вы видите, и даже можете на него зайти, но вот при попытке открыть расшаренную папку можно лицезреть вот такое вот сообщение:
«Вы не можете подключиться к общей папке, так как она небезопасна. Эта общая папка работает по устаревшему протоколу SMB1, который не безопасен и может подвергнуть вашу систему риску атаки.»
Может быть еще вот такой текст ошибки: «Не удалось выполнить сопоставление сетевого диска из-за следующей ошибки». Ну и дальше все в том же духе.
Кстати, некоторые старые роутеры, также исползают устаревший SMB1 протокол – поэтому если у вас еще наблюдается проблема с доступом к жесткому диску или флешке, которые подключены к роутеру, то дальнейшие инструкции вам также будут полезны. Что мы будем делать? – нам нужно просто включить протокол SMBv1, и проблема будет решена. Поехали!
Содержание
- Включения SMB1 на Windows 10
- Проверка настроек
- Включение SMB2
- Ничего не помогло, папку или компьютер не видно, ничего не работает
- Задать вопрос автору статьи
Открываем меню «Пуск» и в поисковой строке вводим «Включение и отключение компонентов Windows». Можете просто ввести не полное слово «компонент». Вы также можете зайти туда через «Панель управления» (нажимаем кнопки «Win» и «R» – вводим команду: control). Далее заходим в «Программы и компоненты» и слева выбираем тот же самый пункт с отключением и включением компонентов.
Находим раздел с упоминанием нашего любимого протокола и включаем в папке все галочки. В самом конце нажимаем «ОК», чтобы изменения были приняты.
После этого SMB-1 в Windows 10 будет включено, и проблемы с сетью возникнуть не должны. Я бы на всякий случай перезагрузил компьютер. Но если вы все равно не видите какой-то компьютер в сети, или есть проблемы с доступом, смотрим следующую главу.
Проверка настроек
Нам нужно посмотреть настройки общего доступа и есть ли они у вас вообще.
- В «Пуске» нажмите по шестеренке.
- Заходим в раздел «Сеть и Интернет».
- Тут же на первой странице (вкладка «Состояние») откройте «Свойства» того подключения, которое вы используете для коннекта с роутером. Если вы подключены по кабелю, то выбираем «Ethernet», если вы подключены по «Wi-Fi», то выбираема второе подключение. На старых версиях нужно открыть ссылку «Изменить свойства подключения».
- Убедитесь, чтобы тип сетевого профиля был как «Частный». Вернитесь обратно, нажав по стрелки влево.
- Пролистните чуть ниже и откройте «Центр управления сетями…». Этот раздел может также называться как «Параметры общего доступа». Поэтому можете ориентироваться по значку или найти раздел со словами «Общий доступ».
- Слева выбираем третий пункт для изменения параметров.
- Так как мы уже изменили текущий профиль на частный, то открываем его.
- Теперь открываем раздел «Все сети» и включаем сетевое обнаружение для папок. Шифрование должно стоять в нужной позиции, но если это не так, то включите 128-и битное шифрование. Обязательно отключите параметр, который будет запрашивать у вас пароль при заходе в общую папку или при запросе к этому компьютеру.
- В самом конце сохраняем изменения.
Включение SMB2
Сначала давайте проверим статус SMBv2. Для это откройте «PowerShell» с правами админа, нажав ПКМ по кнопке «Пуск».
Введите команду:
Get-SmbServerConfiguration | Select EnableSMB2Protocol
14
Если вы видите значение «True», то значит протокол работает. Если стоит значение «False», то включить параметр можно также с помощью команды:
Set-SmbServerConfiguration -EnableSMB2Protocol $true
ПРИМЕЧАНИЕ! Таким же образом можно включить или выключить SMB1 – просто замените в команде одну цифру (2 на 1).
Далее кликаем по «Y» и на «Enter», чтобы подтвердить свои действия. Если же вы хотите отключить SMB2, то вместо «true» ставим «false». В конце не забываем перезагрузить систему.
Ничего не помогло, папку или компьютер не видно, ничего не работает
Если проблема остается, то есть несколько вариантов – от неправильных сетевых настроек до проблем с некоторыми службами в самой операционной системе. Все решения я уже описал в отдельной статье, и с ней вы можете ознакомиться по этой ссылке. То, что описано там, должно помочь.
title | description | author | manager | ms.topic | ms.author | ms.date | ms.custom |
---|---|---|---|---|---|---|---|
How to detect, enable and disable SMBv1, SMBv2, and SMBv3 in Windows |
Describes how to enable and disable the Server Message Block protocol (SMBv1, SMBv2, and SMBv3) in Windows client and server environments. |
Deland-Han |
dcscontentpm |
how-to |
delhan |
12/12/2022 |
contperf-fy21q2 |
How to detect, enable and disable SMBv1, SMBv2, and SMBv3 in Windows
Applies to: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows 11, Windows 10, Windows 8.1, Windows 8
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.
While disabling or removing SMBv1 might cause some compatibility issues with old computers or software, SMBv1 has significant security vulnerabilities, and we strongly encourage you not to use it.
Disabling SMBv2 or SMBv3 for troubleshooting
We recommend keeping SMBv2 and SMBv3 enabled, but you might find it useful to disable one temporarily for troubleshooting. For more information, see How to detect status, enable, and disable SMB protocols on the SMB Server.
In Windows 10, Windows 8.1, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, and Windows Server 2012, disabling SMBv3 deactivates the following functionality:
- 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 high performance, with low latency and low CPU use
- 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
In Windows 7 and Windows Server 2008 R2, disabling SMBv2 deactivates the following functionality:
- Request compounding — allows for sending multiple SMBv2 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’s 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 Gigabit Ethernet (GbE)
- Improved energy efficiency — clients that have open files to a server can sleep
The SMBv2 protocol was introduced in Windows Vista and Windows Server 2008, while the SMBv3 protocol was introduced in Windows 8 and Windows Server 2012. For more information about SMBv2 and SMBv3 capabilities, see the following articles:
- Server Message Block overview
- What’s New in SMB
How to remove SMBv1 via PowerShell
Here are the steps to detect, disable and enable SMBv1 client and server by using PowerShell commands with elevation.
[!NOTE]
The computer will restart after you run the PowerShell commands to disable or enable SMBv1.
-
Detect:
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
-
Disable:
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
-
Enable:
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
[!TIP]
You can detect SMBv1 status, without elevation, by running:Get-SmbServerConfiguration | Format-List EnableSMB1Protocol
.
Windows Server 2012 Windows Server 2012 R2, Windows Server 2016, Windows Server 2019: Server Manager method
To remove SMBv1 from Windows Server:
- On the Server Manager Dashboard of the server where you want to remove SMBv1, under Configure this local server, select Add roles and features.
- On the Before you begin page, select Start the Remove Roles and Features Wizard, and then on the following page, select Next.
- On the Select destination server page under Server Pool, ensure that the server you want to remove the feature from is selected, and then select Next.
- On the Remove server roles page, select Next.
- On the Remove features page, clear the check box for SMB 1.0/CIFS File Sharing Support and select Next.
- On the Confirm removal selections page, confirm that the feature is listed, and then select Remove.
Windows 8.1, Windows 10, and Windows 11: Add or Remove Programs method
To disable SMBv1 for the mentioned operating systems:
- In Control Panel, select Programs and Features.
- Under Control Panel Home, select Turn Windows features on or off to open the Windows Features box.
- In the Windows Features box, scroll down the list, clear the check box for SMB 1.0/CIFS File Sharing Support and select OK.
- After Windows applies the change, on the confirmation page, select Restart now.
How to detect status, enable, and disable SMB protocols
[!NOTE]
When you enable or disable SMBv2 in Windows 8 or Windows Server 2012, SMBv3 is also enabled or disabled. This behavior occurs because these protocols share the same stack.
Server
Windows 8 and Windows Server 2012 introduced 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.
You don’t have to restart the computer after you run the Set-SMBServerConfiguration cmdlet.
SMBv1
-
Detect:
Get-SmbServerConfiguration | Select EnableSMB1Protocol
-
Disable:
Set-SmbServerConfiguration -EnableSMB1Protocol $false
-
Enable:
Set-SmbServerConfiguration -EnableSMB1Protocol $true
For more information, see Server storage at Microsoft.
SMB v2/v3
-
Detect:
Get-SmbServerConfiguration | Select EnableSMB2Protocol
-
Disable:
Set-SmbServerConfiguration -EnableSMB2Protocol $false
-
Enable:
Set-SmbServerConfiguration -EnableSMB2Protocol $true
For Windows 7, Windows Server 2008 R2, Windows Vista, and Windows Server 2008
To enable or disable SMB protocols on an SMB Server that is running Windows 7, Windows Server 2008 R2, Windows Vista, or Windows Server 2008, use Windows PowerShell or Registry Editor.
Additional PowerShell methods
[!NOTE]
This method requires PowerShell 2.0 or later.
SMBv1 on SMB Server
Detect:
Get-Item HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters | ForEach-Object {Get-ItemProperty $_.pspath}
Default configuration = Enabled (No registry named value is created), so no SMB1 value will be returned
Disable:
Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" SMB1 -Type DWORD -Value 0 -Force
Enable:
Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" SMB1 -Type DWORD -Value 1 -Force
Note You must restart the computer after you make these changes.
For more information, see Server storage at Microsoft.
SMBv2/v3 on SMB Server
Detect:
Get-ItemProperty HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters | ForEach-Object {Get-ItemProperty $_.pspath}
Disable:
Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" SMB2 -Type DWORD -Value 0 -Force
Enable:
Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" SMB2 -Type DWORD -Value 1 -Force
[!NOTE]
You must restart the computer after you make these changes.
Registry Editor
[!IMPORTANT]
Follow the steps in this section carefully. Serious problems might occur if you modify the registry incorrectly. Before you modify it, back up the registry for restoration in case problems occur.
To enable or disable SMBv1 on the SMB server, configure the following registry key:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters
Registry entry: SMB1
REG_DWORD: 0 = Disabled
REG_DWORD: 1 = Enabled
Default: 1 = Enabled (No registry key is created)
To enable or disable SMBv2 on the SMB server, configure the following registry key:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters
Registry entry: SMB2
REG_DWORD: 0 = Disabled
REG_DWORD: 1 = Enabled
Default: 1 = Enabled (No registry key is created)
[!NOTE]
You must restart the computer after you make these changes.
Client
Here is how to detect status, enable, and disable SMB protocols on the SMB Client that is running Windows 10, Windows Server 2019, Windows 8.1, Windows Server 2016, Windows Server 2012 R2, and Windows Server 2012.
SMBv1 on SMB Client
-
Detect
sc.exe qc lanmanworkstation
-
Disable:
sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi sc.exe config mrxsmb10 start= disabled
-
Enable:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi sc.exe config mrxsmb10 start= auto
For more information, see Server storage at Microsoft
SMB v2/v3 on SMB Client
-
Detect:
sc.exe qc lanmanworkstation
-
Disable:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi sc.exe config mrxsmb20 start= disabled
-
Enable:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi sc.exe config mrxsmb20 start= auto
[!NOTE]
- You must run these commands at an elevated command prompt.
- You must restart the computer after you make these changes.
Disable SMBv1 by using Group Policy
This section introduces how to use Group Policy to disable SMBv1. You can use this method on different versions of Windows.
Server
SMBv1
This procedure configures the following new item in the registry:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters
- Registry entry: SMB1
- REG_DWORD: 0 = Disabled
To use Group Policy to configure this, follow these steps:
-
Open the Group Policy Management Console. Right-click the Group Policy object (GPO) that should contain the new preference item, and then click Edit.
-
In the console tree under Computer Configuration, expand the Preferences folder, and then expand the Windows Settings folder.
-
Right-click the Registry node, point to New, and select Registry Item.
In the New Registry Properties dialog box, select the following:
- Action: Create
- Hive: HKEY_LOCAL_MACHINE
- Key Path: SYSTEMCurrentControlSetServicesLanmanServerParameters
- Value name: SMB1
- Value type: REG_DWORD
- Value data: 0
This procedure disables the SMBv1 Server components. This Group Policy must be applied to all necessary workstations, servers, and domain controllers in the domain.
[!NOTE]
WMI filters can also be set to exclude unsupported operating systems or selected exclusions, such as Windows XP.
[!IMPORTANT]
Be careful when you make these changes on domain controllers on which legacy Windows XP or older Linux and third-party systems (that don’t support SMBv2 or SMBv3) require access to SYSVOL or other file shares where SMB v1 is being disabled.
Client
SMB v1
To disable the SMBv1 client, the services registry key needs to be updated to disable the start of MRxSMB10, and then the dependency on MRxSMB10 needs to be removed from the entry for LanmanWorkstation so that it can start normally without requiring MRxSMB10 to first start.
This guidance updates and replaces the default values in the following two items in the registry:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesmrxsmb10
Registry entry: Start REG_DWORD: 4= Disabled
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanWorkstation
Registry entry: DependOnService REG_MULTI_SZ: «Bowser»,»MRxSmb20″,»NSI»
[!NOTE]
The default included MRxSMB10 which is now removed as dependency.
To configure this by using Group Policy, follow these steps:
-
Open the Group Policy Management Console. Right-click the GPO that should contain the new preference item, and then click Edit.
-
In the console tree under Computer Configuration, expand the Preferences folder, and then expand the Windows Settings folder.
-
Right-click the Registry node, point to New, and select Registry Item.
-
In the New Registry Properties dialog box, select the following:
- Action: Update
- Hive: HKEY_LOCAL_MACHINE
- Key Path: SYSTEMCurrentControlSetservicesmrxsmb10
- Value name: Start
- Value type: REG_DWORD
- Value data: 4
-
Then remove the dependency on the MRxSMB10 that was disabled.
In the New Registry Properties dialog box, select the following:
- Action: Replace
- Hive: HKEY_LOCAL_MACHINE
- Key Path: SYSTEMCurrentControlSetServicesLanmanWorkstation
- Value name: DependOnService
- Value type: REG_MULTI_SZ
- Value data:
- Bowser
- MRxSmb20
- NSI
[!NOTE]
These three strings will not have bullets (see the following screen shot).The default value includes MRxSMB10 in many versions of Windows, so by replacing them with this multi-value string, it is in effect removing MRxSMB10 as a dependency for LanmanWorkstation and going from four default values down to just these three values above.
[!NOTE]
When you use Group Policy Management Console, you don’t have to use quotation marks or commas. Just type each entry on individual lines. -
Restart the targeted systems to finish disabling SMB v1.
Auditing SMBv1 usage
To determine which clients are attempting to connect to an SMB server with SMBv1, you can enable auditing on Windows Server 2016, Windows 10, and Windows Server 2019. You can also audit on Windows 7 and Windows Server 2008 R2 if the May 2018 monthly update is installed, and on Windows 8.1 and Windows Server 2012 R2 if the July 2017 monthly update is installed.
-
Enable:
Set-SmbServerConfiguration -AuditSmb1Access $true
-
Disable:
Set-SmbServerConfiguration -AuditSmb1Access $false
-
Detect:
Get-SmbServerConfiguration | Select AuditSmb1Access
When SMBv1 auditing is enabled, event 3000 appears in the «Microsoft-Windows-SMBServerAudit» event log, identifying each client that attempts to connect with SMBv1.
Summary
If all the settings are in the same GPO, Group Policy Management displays the following settings.
Testing and validation
After completing the configuration steps in this article, allow the policy to replicate and update. As necessary for testing, run gpupdate /force at a command prompt, and then review the target computers to make sure that the registry settings are applied correctly. Make sure SMBv2 and SMBv3 are functioning for all other systems in the environment.
[!NOTE]
Don’t forget to restart the target systems.
В этом руководстве разберем, как включить или отключить сетевой протокол SMBv2 в Windows 10, но для начало разберем моменты, и что это такое.
Server Message Block (SMB) — это сетевой протокол обмена данными, используемый в системах Windows, чтобы приложения могли получить удаленный доступ к файлам, принтерам или ресурсам удаленного сервера.
Почему важен SMBv2? Microsoft отключила в целях безопасности сетевой протокол SMBv1 с версии 1709 windows 10, так как версия SMB 1 устарела и не безопасна. Microsoft рекомендует использовать SMBv2 или выше.
Как включить или отключить сетевой протокол SMBv2 в Windows 10
Если SMBv1 мы можем включить через компоненты windows, то данный метод не подойдет для SMBv2. По этому, разберем как включить или отключить SMBv2 в Windows 10 при помощи PowerShell и реестра.
1. При помощи PoweShell
Запустите PowerShell от имени администратора и введите ниже апплет, который покажет текущее состояние сетевого протокола SMBv2:
Get-SmbServerConfiguration | Select EnableSMB2Protocol
- Если будет показан True, то протокол SMBv2 включен.
- Если False, то протокол SMBv2 отключен.
Если нужно включить сетевой протокол SMB 2, то введите ниже команду:
Set-SmbServerConfiguration -EnableSMB2Protocol $true
Если нужно отключить сетевой протокол SMB 2, то введите:
Set-SmbServerConfiguration -EnableSMB2Protocol $false
2. При помощи реестра
Нажмите Win+R и введите regedit, чтобы открыть редактор реестра. В реестре перейдите по пути:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters
- Если справа нет SMB2, то нажмите правой кнопкой мыши на пустом месте и «Создать» — «Параметр DWORD 32 бита».
- Задайте имя SMB2.
- Дважды щелкните по SMB2 и задайте значение
- 1, чтобы включить протокол SMB2, 0 чтобы отключить.
- Перезагрузите ПК.
Смотрите еще:
- Регулирование скорости передачи файлов по сети в Windows
- Как узнать пропускную скорость сетевой карты на компьютере
- Сетевой адаптер не имеет допустимых параметров настройки IP
- Windows 10 не видит другие компьютеры в сети
- Не найден сетевой путь ошибка 0x80070035
[ Telegram | Поддержать ]
Блок сообщений сервера или SMB – это протокол, используемый для обмена файлами. Он обеспечивает операции Чтение и запись на сетевых устройствах. Это широко используется, когда пользователь обращается к серверу на базе Linux. Последней версией этого протокола является SMB2 , которая заменяет SMB 1. SMB 2 содержит больше исправлений уязвимостей, к которым был склонен SMB 1. SMB 1 был уязвим, являясь шлюзом для различных современных вымогателей, и поэтому по умолчанию был отключен Microsoft, начиная с Windows 10 v1709.
Вы можете увидеть следующую ошибку при попытке поделиться:
Для этого общего ресурса требуется устаревший протокол SMB1, который небезопасен и может подвергнуть вашу систему атаке. Ваша система требует SMB2 или выше.
Содержание
- Ваша система требует SMB2 или выше
- Как проверить, можно ли установить версию SMB 2.0 на Windows 10?
- Как включить протокол SMB 2 в Windows 10
Ваша система требует SMB2 или выше
Мы рассмотрим все аспекты этого процесса. Итак, начнем.
Как проверить, можно ли установить версию SMB 2.0 на Windows 10?
Прежде всего, нажмите комбинацию кнопок WINKEY + X .
Затем нажмите Windows PowerShell (Admin).
Введите следующее и нажмите Enter:
Get-SmbServerConfiguration | Выберите EnableSMB2Protocol
Теперь он покажет вам сообщение. Если в приведенном ниже фрагменте написано true , значит, ваш компьютер поддерживает протокол SMB 2.
Иначе, вы не можете запустить протокол SMB 2 на вашем ПК.
Читать . Как проверить версию SMB в Windows.
Как включить протокол SMB 2 в Windows 10
Для этого вам нужно сначала включить протокол SMB 1, а затем обновить его до SMB 2.
Начните с нажатия комбинаций кнопок WINKEY + I , чтобы запустить приложение настроек Windows 10.
Теперь в области поиска введите Панель управления и выберите соответствующий результат . Откроется окно панели управления на вашем компьютере.
Нажмите на Программы. Затем в расширенном меню Программы и компоненты выберите Включить или отключить функции Windows.
Функции Windows теперь появятся.
Убедитесь, что вы выбрали SMB 1.0/CIFS File Sharing Support. Теперь нажмите ОК.
Позвольте ему установить все необходимые файлы и перезагрузить ваш компьютер, чтобы изменения вступили в силу.
Это включит поддержку SMB 2 на вашем компьютере.
Кроме того, вы также можете ввести следующую команду в окне Windows PowerShell с правами администратора на уровне, чтобы включить ее,
Set-SmbServerConfiguration –EnableSMB2Protocol $ true
Это оно!
Связанное чтение . Как отключить SMB 1 на компьютере с Windows 10.