Windows Server 2003 R2 подружить с MS-DOS : Windows
1.Запустите редактор реестра «regedit» на Windows Server 2008/R2.
2.Перейдите к следующему разделу реестра.
HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters 1.Создайте новый параметр типа REG_DWORD с именем » Smb2″ (без кавычек)
Value name: Smb2 Value type: REG_DWORD 0 = отключено 1 = включено 1.Чтобы отключить SMB 2.0, сделайте этот параметр равным 0, чтобы активировать SMB 2.0 используйте значение 1.
2.После чего сервер нужно перезагрузить.
whitewizard |
Посмотреть профиль |
Где был? |
Найти ещё сообщения от whitewizard |
Протокол SMB: определить, включить или отключить определенную версию SMB в Windows
16.11.2022
itpro
Windows 10, Windows 7, Windows Server 2012 R2, Windows Server 2016
комментариев 12
Сетевой протокол SMB (Server Message Block) используется для предоставления совместного удаленного доступа к файлам, принтерам и другим устройствам через порт TCP 445. В этой статье мы рассмотрим: какие версии (диалекты) протокола SMB доступны в различных версиях Windows (и как они соотносятся с версиями samba в Linux); как определить версию SMB на вашем компьютере; и как включить/отключить клиент и сервер SMBv1, SMBv2 и SMBv3.
Версии протокола 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:
К примеру, при подключении клиентского компьютера с 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
Если в данной ветке реестра нет параметров с именами 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 можно командой:
Чтобы на стороне сервера вывести список используемых клиентами версий протокола 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
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
Подробнее про протокол SMBv1 в Windows 10 и Windows Server 2016/2019.
Отключить сервер 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) нужно использовать службы обнаружения (линк).
Предыдущая статья Следующая статья
Настройка сервера
Для Windows Server 2003/2003 R2 выберите [Настройка] и [Панель управления].
Нажмите [Сеть и Интернет].
Для Windows Server 2008 нажмите [Оборудование и звук].
Для Windows XP нажмите [Сеть и подключения к Интернету].
Для Windows Server 2003/2003 R2 нажмите [Сетевые подключения].
Нажмите [Центр управления сетями и общим доступом].
Для Windows Server 2008 нажмите [Принтер].
Для Windows XP нажмите [Сетевые подключения].
Нажмите [Изменить дополнительные параметры общего доступа].
Для Windows XP или Windows Server 2008 нажмите [Подключение по локальной сети], чтобы выделить его, а затем в меню [Файл] нажмите [Свойства] и перейдите к шагу 6.
Для Windows Vista в разделе [Общий доступ и сетевое обнаружение] нажмите [Выкл.] или [Вкл.] рядом с пунктом [Использование общих принтеров], а затем перейдите к шагу 6.
Для Windows Server 2003/2003 R выберите [Локальная сеть], нажмите [Свойства] в меню [Файлы], а затем перейдите к шагу 6.
Нажмите шеврон , чтобы раскрыть [Домашний или рабочий (текущий профиль)].
В разделе [Общий доступ к файлам и принтерам] нажмите [Включить общий доступ к файлам и принтерам].
Для Windows XP или Windows Server 2003/2003 R2/2008 на вкладке [Общие] нажмите [Клиент для сетей Microsoft].
Для Windows Vista установите флажок [Включить общий доступ к принтерам], а затем нажмите [Применить].
Нажмите [Сохранить изменения].
Для Windows XP или Windows Server 2003/2003 R2/2008 нажмите [OK].
Для Windows Vista нажмите [Продолжить], а затем выберите тип используемой сети.
В меню [Пуск] нажмите [Устройства и принтеры].
Для Windows Vista или Windows Server 2008 выберите [Панель управления] и [Оборудование и звук], а затем нажмите [Принтеры].
Для Windows XP нажмите [Принтеры и факсы].
Для Windows Server 2003/2003 R2 выберите [Настройка] и [Принтеры и факсы].
Правой кнопкой щелкните аппарат для совместного использования, а затем нажмите [Свойства принтера].
Для Windows XP или Windows Server 2003/2003 R2 щелкните правой кнопкой аппарат для совместного использования, а затем нажмите [Общий доступ. ].
Нажмите вкладку [Общий доступ] и установите флажок [Общий доступ к данному принтеру].
Для Windows Server 2008 на вкладке [Общий доступ] нажмите [Совместно как:].
Для Windows Vista нажмите [Изменить параметры сохранения] и установите флажок [Общий доступ к данному принтеру].
Для Windows XP/Vista или Windows Server 2003/2003 R2/2008 нажмите [Применить], а затем нажмите [OK].
Настройте компьютер, подключенный к сети, где расположен сервер печати, в качестве клиентского компьютера. См. Использование сетевого принтера Windows .
Подключение общей папки Windows 2003 на Windows 10
Протерял сегодня почти час на борьбу с виндой 10. При попытке подключить сетевой диск с сервера 2003 получал ошибку, например вот такую «0x80004005».
Проблема была в том, что в ней по умолчанию отключен smbv1, а включить можно разными способами.
Разные Powershell заклинания не помогли, т.е. команда активации smbv1 сработала, но толку никакого. А дело в том, что кроме активации самого протокола, необходимо еще и smb clientv1 активировать, и проще всего, обе эти операции сделать в «установка\удаление программ»:
В разных редакциях винды это выглядеть может по разному, у меня наример была группа в дереве, где отдельно можно выбрать smb client v1, smb serverv1 и опцию для самовыпиливания этой версии протокола, если уже не нужна.
P.S. Если же нужно расшарить папку на Windows 10, то следует еще проверить наличие галки «Отключить общий доступ с парольной защитой» в разделе «Центр управления общим доступом»\»Дополнительные параметры общего доступа». Переключатель должен стоять как на скриншоте ниже.
А так же в windows 10 на которую хотите получить доступ следует установить компонент системы «Сервер SMB 1.0/CIFS».
Возможно вас заинтересует:
- Легальный способ получить лицензионную Windows 10
- Удаленное исполнение кода в SMB v3: CVE-2020-0796
- Windows 10 KB4541335 BSOD
Запись опубликована в рубрике Из мира Microsoft с метками 0x80004005, smb, smbfs, smbv1, windows 10. Добавьте в закладки постоянную ссылку.