![]() |
| Learn how to check the SMB dialect in Windows 11 using PowerShell and identify the SMB protocol version used by active connections. |
When Windows 11 connects to a network share, NAS device, file server, or another computer using SMB, the client and server negotiate an SMB dialect that both sides support. The negotiated dialect determines the protocol version used for the connection and affects which SMB features are available.
Checking the SMB dialect can be useful when troubleshooting network-share compatibility, security settings, older NAS devices, file servers, and SMB performance problems. Windows 11 can show the dialect used by an active SMB connection through PowerShell, making it possible to verify the protocol version without relying on assumptions based only on the Windows version.
This guide explains how to check the SMB dialect in Windows 11, identify the dialect used by a specific SMB connection, understand SMB 2.x and SMB 3.x dialects, compare client and server capabilities, and troubleshoot situations where an SMB connection uses an unexpected protocol version.
What Is an SMB Dialect?
An SMB dialect is a specific version of the Server Message Block protocol. Each dialect defines protocol behavior, message formats, capabilities, and features that can be used during communication between an SMB client and server.
When a Windows 11 computer connects to an SMB server, the two systems negotiate a dialect that both support. Windows normally attempts to use the highest compatible dialect available between the client and server.
For example, a modern Windows 11 client may support SMB 3.1.1, but that does not automatically mean every SMB connection will use SMB 3.1.1. If the remote server only supports an older SMB dialect, the negotiated connection can use an older compatible dialect.
This is why checking the active connection is more useful than simply checking which SMB versions Windows 11 supports.
Why Check the SMB Dialect?
Knowing the negotiated SMB dialect can help explain differences in security, compatibility, and available features between network connections.
- Verify the SMB protocol version used by an active connection.
- Identify connections using SMB 2.x or SMB 3.x.
- Troubleshoot older NAS devices.
- Investigate compatibility problems with file servers.
- Confirm that a connection is using a modern SMB dialect.
- Understand why certain SMB features are unavailable.
- Compare connections to different SMB servers.
- Investigate security or encryption requirements.
- Document SMB connections in a Windows environment.
- Prepare for SMB dialect configuration changes.
Checking the dialect is especially useful when two network shares behave differently even though they are accessed from the same Windows 11 computer.
SMB Dialects Supported by Windows
Modern Windows systems support several SMB dialect generations. Common dialects include SMB 2.0.2, SMB 2.1, SMB 3.0, SMB 3.0.2, and SMB 3.1.1.
| SMB Dialect | General Description |
|---|---|
| SMB 2.0.2 | Early SMB 2 dialect used by newer Windows systems compared with SMB1. |
| SMB 2.1 | Introduced additional performance and leasing improvements. |
| SMB 3.0 | Introduced major features such as SMB Multichannel and SMB encryption. |
| SMB 3.0.2 | Enhanced SMB 3 compatibility and capabilities. |
| SMB 3.1.1 | Modern SMB dialect with enhanced security and additional features. |
Feature availability is tied to the negotiated dialect and the capabilities of both systems. For example, SMB Multichannel is associated with SMB 3.0 and later, while newer security capabilities are associated with SMB 3.1.1.
How to Check SMB Dialect in Windows 11
The easiest way to check the negotiated SMB dialect is with PowerShell.
Open PowerShell and run:
Get-SmbConnection
The command displays active SMB connections from the local SMB client to SMB servers.
A typical result can contain columns such as:
ServerName ShareName UserName Credential Dialect NumOpens
---------- --------- -------- ---------- ------- --------
FileServer Documents User User 3.11 2
NAS01 Backup User User 3.00 1
The Dialect column is the important part for this check.
For example:
Dialect
-------
3.11
indicates that the connection is using SMB 3.1.1.
Check the SMB Dialect for a Specific Server
If your computer has connections to multiple SMB servers, filter the result by server name.
Get-SmbConnection -ServerName "FileServer"
Replace FileServer with the name of the SMB server you want to inspect.
This is useful when one server uses a different SMB dialect from another server on the same network.
You can also select only the most useful properties:
Get-SmbConnection -ServerName "FileServer" |
Select-Object ServerName, ShareName, UserName, Dialect, Encrypted, NumOpens
This produces a cleaner result that is easier to read or document.
Check SMB Dialect for a Specific Share
You can filter the output based on the share name after retrieving the connections.
Get-SmbConnection |
Where-Object ShareName -eq "Documents" |
Select-Object ServerName, ShareName, Dialect, Encrypted, NumOpens
Replace Documents with the name of the network share.
This is useful if a single SMB server provides several shares and you want to determine which connection is being used for a particular share.
Check All SMB Connections and Their Dialects
To create a compact report of every active SMB connection, use:
Get-SmbConnection |
Select-Object ServerName, ShareName, Dialect, Encrypted, NumOpens
This can make it easier to compare multiple servers.
For example, you might see:
ServerName ShareName Dialect Encrypted NumOpens
---------- --------- ------- --------- --------
FILE01 Public 3.11 True 4
NAS01 Media 3.00 False 2
BACKUP01 Backup 3.02 True 1
The exact output depends on the active SMB connections and the capabilities of the remote servers.
Check Whether the SMB Connection Is Encrypted
The SMB connection output can also provide an Encrypted property.
Get-SmbConnection |
Select-Object ServerName, ShareName, Dialect, Encrypted
This allows you to see the negotiated dialect alongside the encryption state reported for the SMB connection.
For example:
ServerName ShareName Dialect Encrypted
---------- --------- ------- ---------
FILE01 Documents 3.11 True
This is useful when troubleshooting SMB security because dialect and encryption are related but are not the same thing. A modern SMB dialect can support encryption, but whether a particular connection is encrypted depends on the SMB configuration and negotiated capabilities.
Check SMB Dialect with Full Connection Details
If you need more information than the default table displays, use:
Get-SmbConnection | Select-Object -Property *
This displays the available properties for the SMB connection objects returned by PowerShell.
You can also use:
Get-SmbConnection | Format-List
This presents each connection as a detailed property list.
The full output can be useful when diagnosing a particular SMB connection because it can provide information beyond the dialect itself.
How to Create an SMB Connection for Testing
If Get-SmbConnection does not return anything, your Windows 11 computer may not currently have an active SMB connection.
You can create one by opening an SMB share.
Press Windows + R and enter a UNC path such as:
\\FileServer\Documents
Or:
\\192.168.1.20\Documents
After successfully opening the share, return to PowerShell and run:
Get-SmbConnection
You should now be able to inspect the connection and its negotiated dialect.
If the share does not open, the problem may occur before SMB dialect negotiation can complete. In that situation, investigate network connectivity, name resolution, firewall rules, authentication, SMB server configuration, and share permissions.
SMB Dialect and SMB Multichannel
SMB Multichannel is associated with SMB 3.0 and later. If you have already checked SMB Multichannel on your Windows 11 computer, checking the negotiated dialect provides another useful piece of information.
You can check the active SMB connection:
Get-SmbConnection
Then check Multichannel:
Get-SmbMultichannelConnection
If you want to understand how SMB Multichannel is configured and used, see How to Check SMB Multichannel in Windows 11.
The dialect check and Multichannel check answer different questions:
- SMB Dialect: Which SMB protocol version was negotiated?
- SMB Multichannel: Which network channels are being used for the SMB connection?
SMB 3.1.1 in Windows 11
SMB 3.1.1 is an important modern SMB dialect supported by Windows 11. It includes security and protocol improvements compared with older SMB dialects.
Features associated with SMB 3.1.1 include pre-authentication integrity and newer SMB security capabilities. On supported Windows 11 releases, additional SMB security behavior has also been introduced.
However, seeing 3.11 in Get-SmbConnection does not mean every possible SMB 3.1.1 feature is automatically enabled or being used. Features can depend on the Windows version, configuration, server capabilities, and negotiated connection properties.
This distinction is important when troubleshooting SMB security. The dialect identifies the protocol version, while individual properties and configuration determine which features are actually active.
SMB Dialect and Older NAS Devices
Older NAS devices are a common reason to check SMB dialects.
A NAS may support SMB 2.x or SMB 3.x depending on its firmware and configuration. Some older devices may have originally relied on SMB1, which is no longer the preferred protocol for modern Windows environments.
If a Windows 11 computer can access one NAS but cannot access another, compare the SMB connections:
Get-SmbConnection |
Select-Object ServerName, ShareName, Dialect, Encrypted
If one device negotiates a modern SMB dialect while another fails to establish a connection, the difference can provide a useful starting point for further investigation.
Do not enable SMB1 simply because an older device is incompatible. First check whether the NAS firmware supports SMB2 or SMB3 and whether its SMB configuration can be updated.
How SMB Dialect Negotiation Works
When an SMB client connects to an SMB server, the two sides negotiate supported SMB dialects.
In a normal configuration, the connection uses the highest dialect that both sides support and allow.
For example, imagine the following:
| Client | Server | Possible Negotiated Dialect |
|---|---|---|
| SMB 2.0.2–3.1.1 | SMB 3.1.1 | SMB 3.1.1 |
| SMB 2.0.2–3.1.1 | SMB 3.0 | SMB 3.0 |
| SMB 2.0.2–3.1.1 | SMB 2.1 | SMB 2.1 |
| SMB 3.1.1 only | SMB 3.0 only | No compatible connection |
This is a simplified representation. Actual negotiation can also be affected by client and server configuration, Windows version, security policies, and other SMB capabilities.
How to Check SMB Client Dialect Configuration
Checking the active connection tells you the negotiated dialect. On supported Windows versions, you can also inspect the configured SMB client dialect limits.
Run:
Get-SmbClientConfiguration | Format-List
On Windows versions that expose SMB dialect control through the SMB client configuration, look for properties related to the minimum and maximum SMB dialect.
Windows 11 version 24H2 and later introduced additional PowerShell and policy controls for SMB dialect management. These controls can define the minimum and maximum dialect that the SMB client is allowed to negotiate.
Do not confuse these configuration limits with the dialect of an existing connection. The configuration defines what the client can negotiate, while Get-SmbConnection shows what a particular active connection actually negotiated.
Check SMB Dialect Before Changing SMB Settings
If you are troubleshooting an SMB compatibility problem, record the current connection information before making configuration changes.
Get-SmbConnection |
Select-Object ServerName, ShareName, UserName, Dialect, Encrypted, NumOpens
You can save the results to a CSV file:
Get-SmbConnection |
Select-Object ServerName, ShareName, UserName, Dialect, Encrypted, NumOpens |
Export-Csv "$env:USERPROFILE\Desktop\smb-connections.csv" -NoTypeInformation
This creates a record that can be compared after configuration changes.
SMB Dialect vs SMB Client Configuration
| Check | PowerShell Command | What It Shows |
|---|---|---|
| SMB client configuration | Get-SmbClientConfiguration |
Client SMB settings and configuration |
| Active SMB connection | Get-SmbConnection |
Remote server, share, dialect, encryption, and other connection details |
| SMB Multichannel | Get-SmbMultichannelConnection |
Network interface relationships and channels |
| SMB server configuration | Get-SmbServerConfiguration |
Incoming SMB server settings |
| SMB sessions | Get-SmbSession |
Active SMB sessions on a server |
| Open SMB files | Get-SmbOpenFile |
Files currently opened through SMB |
For a broader look at the local SMB client, see How to Check SMB Client Configuration in Windows 11.
How to Troubleshoot an Unexpected SMB Dialect
If an SMB connection is using an unexpected dialect, follow a structured troubleshooting process.
1. Check the Active Connection
Get-SmbConnection
Confirm the server name, share name, and dialect.
2. Check the Client Configuration
Get-SmbClientConfiguration | Format-List
Look for SMB-related restrictions or configuration settings that could affect negotiation.
3. Check the Remote Server
Determine which SMB dialects the remote server supports. This is especially important with older NAS devices and third-party file servers.
4. Check Security Requirements
SMB signing, encryption, authentication, and other security requirements can affect whether a connection can be established successfully.
5. Check Network and Firewall Settings
Verify that the Windows 11 computer can reach the remote SMB server and that the required network and firewall configuration allows SMB traffic.
6. Compare Multiple Connections
If one SMB server works and another does not, compare their dialects and connection properties after establishing successful connections.
Useful SMB Dialect PowerShell Commands
| Command | Purpose |
|---|---|
Get-SmbConnection |
Check active SMB connections and negotiated dialects |
Get-SmbConnection -ServerName "Server" |
Check connections to a specific SMB server |
Get-SmbClientConfiguration |
Check SMB client configuration |
Get-SmbMultichannelConnection |
Check SMB Multichannel connections |
Get-SmbServerConfiguration |
Check SMB server configuration |
Get-SmbSession |
Check SMB sessions |
Get-SmbOpenFile |
Check open SMB files |
Frequently Asked Questions
How do I check the SMB version being used in Windows 11?
Open PowerShell and run Get-SmbConnection. Look at the Dialect column to see the SMB dialect negotiated for each active connection.
What does Dialect 3.11 mean in Get-SmbConnection?
A value of 3.11 represents SMB 3.1.1, a modern SMB dialect used by current Windows systems and supported by Windows 11.
Does Windows 11 always use SMB 3.1.1?
No. The active connection uses a dialect that the client and server can both support and negotiate. An older SMB server can result in an older compatible dialect being used.
How do I check the SMB dialect for one server?
Use Get-SmbConnection -ServerName "ServerName" and inspect the Dialect property.
Can SMB dialect affect security?
Yes. Newer SMB dialects introduce additional security and protocol capabilities. However, the dialect alone does not tell you whether every available security feature is active. Check the connection properties and SMB configuration as well.
Can SMB dialect affect performance?
It can. Different SMB generations introduce different performance features and capabilities. However, actual file-transfer performance also depends on the network, storage, CPU, SMB configuration, and server hardware.
Should I force SMB 3.1.1?
Do not change the minimum or maximum SMB dialect simply because a newer dialect exists. First determine which SMB servers and devices need to connect to the Windows 11 computer and verify that they support the required dialect. A restrictive configuration can prevent connections to systems that do not support the selected dialect.
Final Thoughts
Checking the SMB dialect in Windows 11 is a simple but useful way to understand what protocol version an active network-share connection is actually using.
The most important command is:
Get-SmbConnection
From the output, the Dialect property shows the SMB protocol version negotiated for each active connection. You can combine this with Get-SmbClientConfiguration to inspect the local client configuration and Get-SmbMultichannelConnection to investigate how the connection is using available network paths.
Checking the negotiated dialect is especially useful when troubleshooting older NAS devices, third-party SMB servers, compatibility problems, security requirements, and differences between multiple network shares.
Rather than assuming that Windows 11 always uses the newest SMB protocol, check the active connection and verify the actual dialect. This provides a much more accurate picture of how your Windows 11 computer is communicating with each SMB server on the network.
Related Windows 11 SMB Guides
- How to Check SMB Client Configuration in Windows 11
- How to Check SMB Server Configuration in Windows 11
- How to Check SMB Multichannel in Windows 11
- How to Check SMB Connections in Windows 11
- How to Check SMB Sessions in Windows 11
- How to Check Open SMB Files in Windows 11
- How to Check SMB Share Permissions in Windows 11
- How to Check Shared Folder Permissions in Windows 11
- How to Check Network Profile in Windows 11
- How to Check Windows 11 Firewall Settings

