Сетевой протокол 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
Данная команда вернула, что протокол 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 по умолчанию включены.
Также в этих версиях 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
:
Версия 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
В нашем примере имеется 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
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 сервер:
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) нужно использовать службы обнаружения (линк).
Протокол SMBv1 в последних версиях Windows по умолчанию отключен, однако в некоторых случаях может потребоваться его включение: как правило, речь идёт о необходимости подключения устаревшего оборудования и компьютеров.
В этой инструкции подробно о том, как включить протокол SMB1 на сервере и клиенте в Windows 11 и Windows 10. Примечание: указанный протокол в настоящее время считается небезопасным и без необходимости включать его не следует.
Включение компонента SMB 1.0
Прежде всего, в новых версиях Windows 11/10 потребуется включить отключенный по умолчанию компонент для поддержки SMBv1, для этого:
- Нажмите клавиши Win+R на клавиатуре, введите appwiz.cpl и нажмите Enter.
- В открывшемся окне в списке слева нажмите «Включение или отключение компонентов Windows».
- Включите компонент «Поддержка общего доступа к файлам SMB 1.0/CIFS» и нажмите «Ок».
- Дождитесь установки необходимых компонентов и перезагрузите компьютер.
Также вы можете включить компонент с помощью команды PowerShell:
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
После того, как компонент был установлен, может потребоваться включить использование протокола SMB1 для сервера или клиента — в Windows 11 и 10 это выполняется отдельно.
Проверка и включение SMB 1 на клиенте
Для проверки состояния клиентской части протокола SMB1 в Windows 11 и Windows 10 используйте PowerShell или командную строку, запущенную от имени администратора и следующую команду:
sc.exe qc lanmanworkstation
Если в разделе «Зависимости» отсутствует запись mrxsmb10, протокол 1-й версии отключен. Для его включения можно использовать команды:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi sc.exe config mrxsmb10 start= auto
То же самое можно проделать в редакторе реестра:
- В разделе
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\mrxsmb10
для параметра Start установить значение 2
- В разделе
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation
изменить параметр DependOnService, добавив в него строку mrxsmb10
После внесения изменений в реестре, перезагрузите компьютер.
На сервере
Чтобы проверить состояние сервера SMB1 в Windows 11/10 используйте команду
PowerShell Get-SmbServerConfiguration | Select EnableSMB1Protocol
Если в результате вы увидите значение True, использование протокола включено.
При значении False вы можете включить его с помощью команды:
Set-SmbServerConfiguration -EnableSMB1Protocol $true
Для включения SMBv1 на сервере в реестре, измените значение параметра DWORD с именем SMB1 на 1 в разделе реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Внимание: по умолчанию параметр отсутствует в этом разделе реестра (при его отсутствии считается, что серверный протокол SMB1 включен). При необходимости вы можете его создать.
Внеся изменения в реестр, выполните перезагрузку компьютера.
SMB or Server Message Block Protocols are used to connect your computer to an external server. Windows 10 ships with support of these protocols but they are disabled in the OOBE. Currently, Windows 11/10 supports SMBv1, SMBv2, and SMBv3 as well. Different servers depending upon their configuration require a different version of SMB to get connected to a computer. But in case you are using Windows 8.1 or Windows 7, you can check if you have it enabled too. That’s what we are going to do today.
First of all, if you have Windows 7, you should not be disabling SMB v2. This is due to the following reasons:
- 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 the hashing algorithm
- Improved scalability for file sharing – the 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-gigabyte (GB) Ethernet
- Improved energy efficiency – clients that have open files to a server can sleep.
Even if you are on Windows 8.1 or Windows 11/10, you should not be disabling SMB v3 or SMB v2 because, in addition to the above problems, you might face the following issues too which come with disabling SMB v3:
- 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.
Methods to check what version of SMB is installed on the Server
We will be using the following methods to check what version of SMB is installed on your computer:
- The PowerShell Method.
- The Registry Editor Method.
1] The PowerShell Method
If you wish to check what version of SMB you are running, you can just type in the following in the cmdlet for PowerShell:
SMB v1 Windows 11/10 and Windows 8.1
Get-WindowsOptionalFeature –Online –FeatureName SMB1Protocol
SMB v2 Windows 11/10 and Windows 8.1
Get-SmbServerConfiguration | Select EnableSMB2Protocol
SMB v1 Windows 7
Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
SMB v2 Windows 7
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
If it returns the value as True, it is enabled, else is disabled.
2] The Registry Editor Method
Type regedit in Start Search and hit Enter. Once Registry Editor opens, navigate to the following key-
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Now if you have the DWORDs named as SMB1 or SMB2, check their Value Data.
If it is set to 0, it is disabled.
And in any other case, it is enabled.
Methods to check what version of SMB is installed on Clients
We will be using the following methods to check what version of SMB is installed on your computer,
- The PowerShell Method.
- The Group Policy Editor Method.
1] The PowerShell Method
So, if you wish to check what version of SMB you are running, you can just type in the following in Command Prompt with Administrator Level privileges,
SMB v1 Windows 11/10 and Windows 8.1
sc.exe qc lanmanworkstation
SMB v2 Windows 11/10 and Windows 8.1
sc.exe qc lanmanworkstation
2] The Group Policy Editor Method
It is worth noting that this method will not work on Windows 11/10 Home or the equivalent edition of Windows 8 or Windows 7.
Open Run box, type gpedit.msc and hit Enter to open the Local Group Policy Editor. Navigate to the following path:
Computer Configuration > Windows Settings
Under Registry, look for Registry Item with the following Properties,
Action: Update
Hive: HKEY_LOCAL_MACHINE
Key Path: SYSTEM\CurrentControl\services\mrxsmb10
Value Name: Start
Value type: REG_DWORD
Value Data: 4
If the Value Data is set to 4, SMB is Disabled.
For a detailed read visit microsoft.com.
Related read: Why and how to disable SMB1 on Windows?.
Содержание
- Способ 1: Включение компонента Windows
- Способ 2: Команда для PowerShell
- Способ 3: Управление групповой политикой
- Вопросы и ответы
Перед началом ознакомления со следующими способами отметим, что использование SMBv1 в качестве средства удаленного доступа обычному пользователю чаще всего не нужно, поскольку проще его организовать при помощи других вспомогательных технологий. Более детальную информацию по этому поводу предлагаем прочесть в статьях по ссылкам ниже.
Подробнее:
Подключение к удаленному компьютеру
Способы подключения к удаленному рабочему столу в Windows 10
В Windows 10 существует отдельный модуль, позволяющий подключать различные компоненты. С его помощью активировать SMBv1 будет проще всего, а выглядит процесс так:
- Откройте «Пуск» и перейдите в меню «Параметры».
- Здесь выберите раздел «Приложения».
- В категории «Приложения и возможности» опуститесь в самый низ, где щелкните по кликабельной надписи «Программы и компоненты».
- Через левую панель вызовите окно «Включение или отключение компонентов Windows».
- Отыщите в меню директорию «Поддержка общего доступа к файлам SMB 1.0/CIFS», разверните ее и активируйте все подпапки, включая и главную категорию.
Если технология не активировалась сейчас, потребуется перезагрузить компьютер, ведь именно тогда происходит обновление параметров реестра, что и требуется для корректной работы SMB.
Способ 2: Команда для PowerShell
Если вы не боитесь взаимодействовать с оболочкой PowerShell, активировать SMBv1 можно через нее, вставив всего одну команду.
- Щелкните правой кнопкой мыши по меню «Пуск» и выберите «Windows PowerShell (администратор)».
- В PowerShell вставьте команду
Enable-WindowsOptionalFeature -Online -FeatureName smb1protocol
и нажмите на Enter. - Ожидайте завершения процедуры включения компонента, что займет несколько минут.
- После вам понадобится отправить компьютер на перезапуск, чтобы окончить операцию. Вы можете сделать это потом, выбрав сейчас отрицательный вариант ответа.
- Далее в PowerShell отобразится информация о том, что SMBv1 была успешно активирована и находится в рабочем состоянии.
Дополнительно отметим две другие команды для PowerShell, которые могут пригодиться при дальнейшей работе с рассматриваемым компонентом в Windows:
Get-WindowsFeature FS-SMB1
— позволяет узнать, в каком состоянии сейчас находится SMBv1.Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol
— отключает работу компонента.
Способ 3: Управление групповой политикой
Отметим, что этот вариант подойдет только владельцам доменов, которые хотят настроить SMBv1 на всех локальных компьютерах. Рядовым пользователям мы не советуем задействовать этот вариант — им лучше остановиться на двух предыдущих.
- Для начала придется добавить средство управления групповыми политиками в ОС. Для этого откройте «Пуск» и перейдите в «Параметры».
- Откройте раздел «Приложения».
- В первой же категории вас интересует кликабельная надпись «Дополнительные возможности».
- Нажмите «Добавить компонент», чтобы перейти к его выбору.
- В списке отыщите «RSAT: средства управления групповыми политиками» и запустите установку.
- Вернитесь в предыдущее меню и отслеживайте прогресс инсталляции.
- После проверьте компонент на наличие его в списке и перезагрузите компьютер, чтобы все изменения вступили в силу.
- Войдите в операционную систему под именем владельца домена, откройте утилиту «Выполнить» через Win + R и пропишите
gpmc.msc
, нажав затем на клавишу Enter. - Ожидайте загрузки управления групповой политикой.
- Там откройте главный раздел «Управление групповой политики» и найдите реестр.
Остается только заполнить сведения реестра в соответствии с приведенным далее списком
- Действие:
Создать
- Куст:
HKEY_LOCAL_MACHINE
- Путь раздела:
SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
- Имя параметра:
SMB1
- Тип параметра:
REG_DWORD
- Значение:
1
Остается только сохранить изменения для реестра и перезапустить компьютер, чтобы они вступили в силу. Если захотите в будущем отключить параметр, измените его значение на «0».
Еще статьи по данной теме:
Помогла ли Вам статья?
SMB или Протоколы блокировки сообщений сервера используются для подключения компьютера к внешнему серверу. Windows 10 поставляется с поддержкой этих протоколов, но они отключены в OOBE. В настоящее время Windows 10 также поддерживает SMBv1, SMBv2 и SMBv3. Разные серверы в зависимости от их конфигурации требуют разных версий SMB для подключения к компьютеру. Но в случае, если вы используете Windows 8.1 или Windows 7, вы можете проверить, включена ли она тоже. Это то, что мы собираемся сделать сегодня.
Содержание
- Как проверить версию SMB в Windows
- Способы проверки, какая версия SMB установлена на Сервере.
- 1] Метод PowerShell
- Способы проверить, какая версия SMB установлена на клиентах.
- 1] Метод PowerShell
Как проверить версию SMB в Windows
Прежде всего, если у вас Windows 7 , вам не следует отключать SMB v2. Это связано со следующими причинами:
- Составление запроса – позволяет отправлять несколько запросов SMB 2 как один сетевой запрос
- Больше чтения и записи – лучшее использование более быстрых сетей
- Кэширование свойств папок и файлов – клиенты хранят локальные копии папок и файлов
- Долговечные ручки – позволяют подключению прозрачно переподключаться к серверу при временном отключении
- Улучшена подпись сообщений – HMAC SHA-256 заменяет MD5 в качестве алгоритма хеширования
- Улучшенная масштабируемость для обмена файлами – значительно увеличилось количество пользователей, общих ресурсов и открытых файлов на сервер
- Поддержка символических ссылок
- Модель аренды клиентских блокировок – ограничивает объем данных, передаваемых между клиентом и сервером, повышает производительность в сетях с высокой задержкой и повышает масштабируемость SMB-серверов.
- Поддержка большого MTU – для полноценного использования 10-гигабайтного (ГБ) Ethernet
- Повышенная энергоэффективность – клиенты, которые имеют открытые файлы на сервере, могут спать.
Даже если вы работаете в Windows 8.1 или Windows 10 , вам не следует отключать SMB v3 или SMB v2, поскольку, помимо указанных выше проблем, вы можете столкнуться со следующими проблемами тоже, которые идут с отключением SMB v3:
- Прозрачное аварийное переключение – клиенты повторно подключаются без перерыва к узлам кластера во время обслуживания или аварийного переключения
- Scale Out – одновременный доступ к общим данным на всех узлах файлового кластера
- Многоканальный – агрегирование пропускной способности сети и отказоустойчивости, если доступно несколько путей между клиентом и сервером.
- SMB Direct – добавляет поддержку сети RDMA для очень высокой производительности, с низкой задержкой и низкой загрузкой процессора
- Шифрование – обеспечивает сквозное шифрование и защищает от прослушивания в ненадежных сетях.
- Лизинг каталогов – улучшает время отклика приложений в филиалах за счет кэширования
- Оптимизация производительности – оптимизация для небольших случайных операций чтения/записи.
Способы проверки, какая версия SMB установлена на Сервере.
Мы будем использовать следующие методы, чтобы проверить, какая версия SMB установлена на вашем компьютере:
- Метод PowerShell.
- Метод редактора реестра.
1] Метод PowerShell
Если вы хотите проверить, какую версию SMB вы используете, вы можете просто ввести следующую команду в PowerShell:
SMB v1 Windows 10 и Windows 8.1
Get-WindowsOptionalFeature –Online –FeatureName SMB1Protocol
SMB v2 для Windows 10 и Windows 8.1
Get-SmbServerConfiguration | Выберите EnableSMB2Protocol
SMB v1 для Windows 7
Get-Item HKLM: \ SYSTEM \ CurrentControlSet \ Services \ LanmanServer \ Parameters | ForEach-Object {Get-ItemProperty $ _. Pspath}
SMB v2 для Windows 7
Get-ItemProperty HKLM: \ SYSTEM \ CurrentControlSet \ Services \ LanmanServer \ Parameters | ForEach-Object {Get-ItemProperty $ _. Pspath}
Если он возвращает значение как True , он включен, иначе отключен.
2] Метод редактора реестра
Введите regedit в поле Начать поиск и нажмите Enter. После открытия редактора реестра перейдите к следующему
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ LanmanServer \ Параметры
Теперь, если у вас есть DWORD с именами SMB1 или SMB2 , проверьте их значения.
Если для него установлено значение 0, оно отключено.
И в любом другом случае он включен.
Способы проверить, какая версия SMB установлена на клиентах.
Мы будем использовать следующие методы, чтобы проверить, какая версия SMB установлена на вашем компьютере:
- Метод PowerShell.
- Метод редактора групповой политики.
1] Метод PowerShell
Итак, если вы хотите проверить, какая версия SMB вы используете, вы можете просто ввести следующее в командной строке с привилегиями уровня администратора,
SMB v1 Windows 10 и Windows 8.1
sc.exe qc lanmanworkstation
SMB v2 для Windows 10 и Windows 8.1
sc.exe qc lanmanworkstation
2] Метод редактора групповой политики
Стоит отметить, что этот метод не будет работать в Windows 10 Home или аналогичной редакции Windows 8 или Windows 7.
Откройте окно «Выполнить», введите gpedit.msc и нажмите Enter, чтобы открыть редактор локальной групповой политики. Перейдите по следующему пути:
Конфигурация компьютера> Настройки Windows
В разделе Реестр найдите элемент реестра со следующими свойствами:
Действие: обновление
Улей: HKEY_LOCAL_MACHINE
Путь к ключу: SYSTEM \ CurrentControl \ services \ mrxsmb10
Название значения. Начало
Тип значения: REG_DWORD
Данные о стоимости. 4
Если значение данных установлено в 4, SMB отключен.
Для детального чтения посетите microsoft.com.
Связанное чтение . Почему и как отключить SMB1 в Windows 10/8/7.