Jak wykrywać, włączać i wyłączać protokoły SMBv1, SMBv2 i SMBv3 w systemach Windows i Windows Server

Dotyczy: Windows 10 Pro released in July 2015Windows Vista EnterpriseWindows Vista Business

Podsumowanie


W tym artykule opisano, jak włączać i wyłączać protokół Server Message Block (SMB) w wersji 1 (SMBv1), w wersji 2 (SMBv2) i w wersji 3 (SMBv3) w składnikach klienta i serwera SMB. 
 

W systemie Windows 7 i Windows Server 2008 R2 wyłączenie protokołu SMBv2 powoduje dezaktywację następujących funkcji:
  • Łączenie żądań — umożliwia wysyłanie wielu żądań SMBv2 jako jednego żądania sieciowego
  • Większe odczyty i zapisy — lepsze wykorzystanie szybszych sieci
  • Buforowanie właściwości folderów i plików — klienty przechowują lokalne kopie folderów i plików
  • Trwałe dojścia — umożliwiają niewidoczne ponowne nawiązywanie połączenia z serwerem w przypadku czasowego rozłączenia
  • Ulepszone podpisywanie wiadomości — algorytm skrótu MD5 został zastąpiony przez HMAC SHA-256
  • Ulepszona skalowalność dotycząca udostępniania plików — umożliwia zdecydowane zwiększenie liczby użytkowników, udostępnień i otwartych plików na serwer
  • Obsługa łączy symbolicznych
  • Model dzierżawienia operacji oplock klienta — ogranicza dane przesyłane między klientem a serwerem, poprawiając wydajność sieci o dużym opóźnieniu i zwiększając skalowalność serwera SMB
  • Obsługa dużych jednostek MTU — w celu pełnego wykorzystania 10-gigabajtowej sieci Ethernet
  • Ulepszona wydajność zasilania — możliwość uśpienia klientów z otwartymi plikami
W systemach Windows 8, Windows 8.1, Windows 10, Windows Server 2012 i Windows Server 2016 wyłączenie protokołu SMBv3 powoduje dezaktywację następujących funkcji (a także funkcji protokołu SMBv2 opisanych na poprzedniej liście):
  • Niewidoczne przechodzenie w tryb failover — w trakcie konserwacji lub pracy w trybie failover klienty bez zakłóceń ponownie łączą się z węzłami klastra
  • Skalowanie w poziomie — współbieżny dostęp do współdzielonych danych we wszystkich węzłach klastra pliku 
  • Obsługa wielu kanałów — agregacja przepustowości sieci i odporności na uszkodzenia w przypadku dostępności wielu ścieżek między klientem a serwerem
  • SMB Direct — dodanie obsługi funkcji sieciowych RDMA, co zapewnia wysoką wydajność, bardzo małe opóźnienia i niskie wykorzystanie procesora
  • Szyfrowanie — kompleksowe szyfrowanie i ochrona przed podsłuchiwaniem w niezaufanych sieciach
  • Dzierżawa katalogów — krótsze czasy odpowiedzi aplikacji w filiach dzięki buforowaniu
  • Optymalizacja wydajności — optymalizacja dotycząca małych losowych operacji wejścia/wyjścia odczytu/zapisu

Więcej informacji


Protokół SMBv2 wprowadzono w systemach Windows Vista i Windows Server 2008.

Protokół SMBv3 wprowadzono w systemach Windows 8 i Windows Server 2012.

Aby uzyskać więcej informacji o funkcjach protokołów SMBv2 i SMBv3, odwiedź następujące witryny Microsoft TechNet w sieci Web:
 

Jak bezpiecznie usunąć protokół SMBv1 w systemach Windows 8.1, Windows 10, Windows 2012 R2 i Windows Server 2016


Windows Server 2012 R2 i 2016 Metody z użyciem środowiska PowerShell

Protokół SMBv1

Wykrywanie:

Get-WindowsFeature FS-SMB1

Wyłączanie:

Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol

Włączanie:

Enable-WindowsOptionalFeature -Online -FeatureName smb1protocol


Protokół SMBv2/SMBv3

Wykrywanie:

Get-SmbServerConfiguration | Select EnableSMB2Protocol

Wyłączanie:

Set-SmbServerConfiguration -EnableSMB2Protocol $false

Włączanie:

Set-SmbServerConfiguration -EnableSMB2Protocol $true



Windows Server 2012 R2 i Windows Server 2016: metoda wyłączania protokołu SMB przy użyciu Menedżera serwera

Protokół SMBv1
Server Manager - Dashboard method



Windows 8.1 i Windows 10: Metoda z użyciem środowiska PowerShell

Protokół SMBv1



Windows 8.1 i Windows 10: metoda przy użyciu opcji Dodaj lub usuń programy

Add-Remove Programs client method
 
 

Jak wykrywać stan, włączać i wyłączać protokoły SMB na serwerze SMB


Systemy Windows 8 i Windows Server 2012

W systemach Windows 8 i Windows Server 2012 wprowadzono nowe polecenie cmdlet Windows PowerShell Set-SMBServerConfiguration. Polecenie cmdlet umożliwia włączanie i wyłączanie protokołów SMBv1, SMBv2 i SMBv3 w składniku serwera. 


Po uruchomieniu polecenia cmdlet Set-SMBServerConfiguration nie jest wymagane ponowne uruchomienie komputera.

Protokół SMBv1 na serwerze SMB Serwer
Wykrywanie: Get-SmbServerConfiguration | Select EnableSMB1Protocol
Wyłączanie: Set-SmbServerConfiguration -EnableSMB1Protocol $false
Włączanie: Set-SmbServerConfiguration -EnableSMB1Protocol $true

Więcej informacji można znaleźć w sekcji Magazyn serwera w firmie Microsoft.

Protokół SMBv2/SMBv3 na serwerze SMB
Wykrywanie: Get-SmbServerConfiguration | Select EnableSMB2Protocol
Wyłączanie: Set-SmbServerConfiguration -EnableSMB2Protocol $false
Włączanie: Set-SmbServerConfiguration -EnableSMB2Protocol $true


Systemy Windows 7, Windows Server 2008 R2, Windows Vista i Windows Server 2008

Aby włączyć lub wyłączyć protokoły SMB na serwerze SMB z systemem Windows 7, Windows Server 2008 R2, Windows Vista lub Windows Server 2008, należy skorzystać ze środowiska Windows PowerShell lub edytora rejestru.

Metody z użyciem środowiska PowerShell


Protokół SMBv1 na serwerze SMB Serwer

Wykrywanie:

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

Domyślna konfiguracja = Włączone (nie jest tworzony klucz rejestru), w związku z czym nie zostanie zwrócona żadna wartość SMB1

Wyłączanie:

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

Włączanie:

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


Uwaga Po wprowadzeniu tych zmian należy ponownie uruchomić komputer.

Więcej informacji można znaleźć w sekcji Magazyn serwera w firmie Microsoft.

Protokół SMBv2/SMBv3 na serwerze SMB

Wykrywanie:

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


Wyłączanie:

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


Włączanie:

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


Uwaga Po wprowadzeniu tych zmian należy ponownie uruchomić komputer.


Edytor rejestru

Ważne Niniejszy artykuł zawiera informacje dotyczące modyfikowania rejestru. Przed zmodyfikowaniem rejestru wykonaj jego kopię zapasową. Upewnij się, że znasz sposób przywrócenia rejestru w przypadku wystąpienia problemu. Aby uzyskać dodatkowe informacje dotyczące wykonywania kopii zapasowej, przywracania i modyfikacji rejestru, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
322756 Jak wykonać kopię zapasową rejestru i przywrócić go w systemie Windows

Aby włączyć lub wyłączyć protokół SMBv1 na serwerze SMB, skonfiguruj następujący klucz rejestru:

Podklucz rejestru: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Wpis rejestru: SMB1
REG_DWORD: 0 = Wyłączone
REG_DWORD: 1 = Włączone
Wartość domyślna: 1 = Włączone (nie jest tworzony klucz rejestru)

Aby włączyć lub wyłączyć protokół SMBv2 na serwerze SMB, skonfiguruj następujący klucz rejestru:

Podklucz rejestru:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters
Wpis rejestru: SMB2
REG_DWORD: 0 = Wyłączone
REG_DWORD: 1 = Włączone
Wartość domyślna: 1 = Włączone (nie jest tworzony klucz rejestru)


Uwaga Po wprowadzeniu tych zmian należy ponownie uruchomić komputer.

Jak wykrywać stan, włączać i wyłączać protokoły SMB na kliencie SMB


Systemy Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows 8 i Windows Server 2012

Uwaga W przypadku włączenia lub wyłączenia protokołu SMBv2 w systemie Windows 8 lub Windows Server 2012 włączany lub wyłączany jest także protokół SMBv3. Takie zachowanie wynika z faktu, że protokoły te dzielą ten sam stos.

Protokół SMBv1 na SMB Client
Wykrywanie: sc.exe qc lanmanworkstation
Wyłączanie: sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi
sc.exe config mrxsmb10 start= disabled
Włączanie: sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb10 start= auto


Więcej informacji można znaleźć w sekcji Magazyn serwera w firmie Microsoft.

Protokół SMBv2/SMBv3 na SMB Client
Wykrywanie: sc.exe qc lanmanworkstation
Wyłączanie: sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi
sc.exe config mrxsmb20 start= disabled
Włączanie: sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb20 start= auto


Uwagi

  • Polecenia te należy wpisać w wierszu polecenia z podwyższonym poziomem uprawnień.
  • Po wprowadzeniu tych zmian należy ponownie uruchomić komputer.

Wyłącz protokół SMBv1 za pomocą zasad grupy


Ta procedura konfiguruje następujący nowy element w rejestrze:


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

Wpis rejestru: SMB1 REG_DWORD: 0 = Wyłączone


Aby skonfigurować za pomocą zasad grupy:

  1. Otwórz Konsolę zarządzania zasadami grupy. Kliknij prawym przyciskiem myszy nowo utworzony obiekt zasad grupy, który powinien zawierać nowy element preferencji, a następnie kliknij polecenie Edytuj.
  2. W drzewie konsoli w sekcji Konfiguracja komputera rozwiń folder Preferencje, a następnie folder Ustawienia systemu Windows.
  3. Kliknij prawym przyciskiem myszy opcję Węzeł rejestru wskaż polecenie Nowy i wybierz opcję Element rejestru.

    Registry - New - Registry Item

W oknie dialogowym Nowe właściwości rejestru zaznacz następujące opcje:

  • Action: Create
  • Gałąź: HKEY_LOCAL_MACHINE
  • Ścieżka klucza: SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
  • Nazwa wartości: SMB1
  • Typ wartości: REG_DWORD
  • Dane wartości: 0

New Registry Properties - General

Wyłącza to składniki protokołu SMBv1. Te zasady grupy należy zastosować we wszystkich wymaganych stacjach roboczych, serwerach i kontrolerach domen w domenie.

Uwaga Filtry WMI można także ustawić tak, aby wykluczyć nieobsługiwane systemy operacyjne lub wybrane wyjątki, na przykład system Windows XP. 

Wyłączanie klienta SMBv1 za pomocą zasad grupy


Aby wyłączyć klienta SMBv1, należy zaktualizować klucz rejestru, aby wyłączyć uruchamianie sterownika MRxSMB10, a następnie usunąć zależność od sterownika MRxSMB10 z wpisu dla pliku LanmanWorkstation, co pozwoli na normalne uruchamianie bez wcześniejszego uruchamiania sterownika MRxSMB10.

Nastąpi aktualizacja i zastąpienie wartości domyślnych w następujących 2 elementach rejestru:


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\mrxsmb10

Wpis rejestru: Start REG_DWORD: 4 = Wyłączone

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation

Wpis rejestru: DependOnService REG_MULTI_SZ: “Bowser”,”MRxSmb20″,”NSI”


Uwaga Wartość domyślna zawierała sterownik MRxSMB10, który teraz jest usunięty jako zależność.


Aby skonfigurować za pomocą zasad grupy:

  1. Otwórz Konsolę zarządzania zasadami grupy. Kliknij prawym przyciskiem myszy nowo utworzony obiekt zasad grupy, który powinien zawierać nowy element preferencji, a następnie kliknij polecenie Edytuj.
  2. W drzewie konsoli w sekcji Konfiguracja komputera rozwiń folder Preferencje, a następnie folder Ustawienia systemu Windows.
  3. Kliknij prawym przyciskiem myszy opcję Węzeł rejestru, wskaż polecenie Nowy i wybierz opcję Element rejestru.

Registry - New - Registry Item

W oknie dialogowym Nowe właściwości rejestru zaznacz następujące opcje:

  • Action: Aktualizacja
  • Gałąź: HKEY_LOCAL_MACHINE
  • Ścieżka klucza: SYSTEM\CurrentControlSet\services\mrxsmb10
  • Nazwa wartości: Start
  • Typ wartości: REG_DWORD
  • Dane wartości: 4

Start Properties - General

Następnie usuń zależność od sterownika MRxSMB10, która została wyłączona.

W oknie dialogowym Nowe właściwości rejestru zaznacz następujące opcje:

  • Action: Zastąp symbol
  • Gałąź: HKEY_LOCAL_MACHINE
  • Ścieżka klucza: SYSTEM\CurrentControlSet\Services\LanmanWorkstation
  • Nazwa wartości: DependOnService
  • Typ wartości REG_MULTI_SZ
  • Dane wartości:
    • Bowser
    • MRxSmb20
    • NSI

Uwaga Te trzy ciągi znaków nie mają punktorów (zobacz poniższy zrzut ekranu).

DependOnService Properties

Wartość domyślna zawiera sterownik MRxSMB10 w wielu wersjach systemu Windows, więc jej zastąpienie tym ciągiem wielowartościowym powoduje usunięcie sterownika MRxSMB10 jako zależności dla pliku LanmanServer i zmniejszenie liczby wartości z czterech domyślnych do trzech powyższych.

Uwaga Kiedy korzystasz z Konsoli zarządzania zasadami grupowymi, nie musisz używać cudzysłowów ani przecinków. Podaj każdy wpis w poszczególnych liniach.

Wymagane jest ponowne uruchomienie

Po zastosowaniu zasady ustawienia rejestru są na swoim miejscu. Wówczas przed wyłączeniem protokołu SMBv1 systemy należy ponownie uruchomić.

Podsumowanie

Jeśli wszystkie ustawienia znajdują się w tym samym obiekcie zasad grupy, Konsola zarządzania zasadami grupy wyświetli poniższe ustawienia.

Group Policy Management Editor - Registry

Testowanie i weryfikacja

Po ich skonfigurowaniu zezwól zasadom na replikację i aktualizację. Do testowania wymagane jest uruchomienie gpupdate /force z monitu komendy i sprawdzenie komputerów docelowych, aby upewnić się, że ustawienia rejestru zostały zastosowane prawidłowo. Upewnij się, że protokoły SMBv2 i SMBv3 działają prawidłowo dla wszystkich systemów w środowisku.