SMB or Server Message Block Protocols are used to connect your computer to an external server. Windows 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.
How to check SMB version on Windows 11/10
If you are on Windows 11/10 or Windows 8.1 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.
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.
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.
Related read: Why and how to disable SMB1 on Windows?