Versions
There are several different versions of SMB used by Windows operating systems:
SMB Version | Operating System | Note |
CIFS | Windows NT | superseded by SMB1 |
SMB 1.0 (or SMB1) | Windows 2000, XP, Server 2003, Server 2003 R2 | |
SMB 2.0 (or SMB2) | Windows Vista (SP1 or later), Server 2008 | |
SMB 2.1 (or SMB2.1) | Windows 7, Server 2008 R2 | |
SMB 3.0 (or SMB3) | Windows 8, Server 2012 | |
SMB 3.02 (or SMB3) | Windows 8.1, Server 2012 R2 | In Windows 8.1 and Server 2012 R2, the option to completely disable CIFS/SMB1 support is introduced. It is not the default configuration. |
SMB 3.1.1 | Widnows 10, Server 2016 | |
Negotiated Versions
Here’s a table to help you understand what version you will end up using, depending on what Windows version is running as the SMB client and what version of Windows is running as the SMB server:
OS | Windows 8.1 WS 2012 R2 | Windows 8 WS 2012 | Windows 7 WS 2008 R2 | Windows Vista WS 2008 | Previous Version |
Windows 8.1 WS 2012 R2 | SMB 3.02 | SMB 3.0 | SMB 2.1 | SMB 2.0 | SMB 1.0 |
Windows 8 WS 2012 | SMB 3.0 | SMB 3.0 | SMB 2.1 | SMB 2.0 | SMB 1.0 |
Windows 7 WS 2008 R2 | SMB 2.1 | SMB 2.1 | SMB 2.1 | SMB 2.0 | SMB 1.0 |
Windows Vista WS 2008 | SMB 2.0 | SMB 2.0 | SMB 2.0 | SMB 2.0 | SMB 1.0 |
Previous Version | SMB 1.0 | SMB 1.0 | SMB 1.0 | SMB 1.0 | SMB 1.0 |
* WS = Windows Server
Check SMB Version
In Windows 8 or Windows Server 2012 or later, a new PowerShell cmdlet can easily tell what version of SMB the client has negotiated with the File Server. For Windows version prior to Windows 8, there is not an easy way – need to use Network Monitor, Message Analyzer (recommended) or Wireshark to capture and look into the packets.
To check the negotiated SMB version between the client and file server
- Access a remote file server (or create a new mapping to it)
- Use Get-SmbConnection
To check the SMB version on the local computer
- dir \\localhost\c$
- Get-SmbConnection –ServerName localhost
- run the Get-SmbConnection cmdlet within 10 seconds after the dir command
- the SMB client will tear down the connctions if there is no activity
Recommendation
Microsoft strongly encourage to update to the latest of SMB. However, be aware of compatibility with the older Windows operating systems and third-party application implementation.
- VMware
- vCenter Server Appliance 5.5.x / 6.0.x and vRealize Automation 6.2.x support SMB1 only (KB2134063)
Source
Microsoft Jose Barroeto’s Blog