![]() |
| Learn how to check SMB opportunistic locking in Windows 11 using PowerShell, inspect oplock settings, and troubleshoot SMB file access and performance. |
SMB opportunistic locking, commonly called SMB oplocks, is a feature that can improve the performance of files accessed over a network. It allows an SMB client to use certain forms of local caching when working with files stored on an SMB server.
If you are troubleshooting slow network file access, unexpected delays when opening or saving shared files, or compatibility problems with applications that use network shares, checking SMB oplock settings can be useful.
Windows 11 provides PowerShell commands that allow you to inspect SMB client configuration, while an SMB server can expose its own oplock configuration through the SMB server configuration.
In this guide, you will learn how to check SMB opportunistic locking on Windows 11, understand the relevant PowerShell properties, compare client and server settings, and troubleshoot problems without unnecessarily changing SMB configuration.
What Is SMB Opportunistic Locking?
Opportunistic locking is an SMB mechanism that allows a client to cache file information locally under conditions controlled by the SMB protocol.
The purpose is to reduce unnecessary network operations. Instead of communicating with the SMB server for every small read or write operation, the client may be able to use locally cached information while the appropriate SMB locking rules are maintained.
Microsoft documents opportunistic locking as part of SMB functionality, alongside features such as file and record locking, dialect negotiation, and network file access.
In practical terms, SMB oplocks can affect how Windows handles files located on network shares. This makes the feature relevant when diagnosing network file performance and certain application compatibility problems.
Why Should You Check SMB Oplocks?
Checking SMB oplock settings can help when investigating problems involving network shares and applications that work with files remotely.
Some common situations include:
- Files on an SMB share open more slowly than expected.
- Applications experience delays when opening or saving network files.
- Network file operations behave differently between two Windows computers.
- A legacy application has unusual problems with files stored on a network share.
- You are comparing SMB configurations between client and server computers.
- You are troubleshooting network file-server performance.
- You need to verify whether SMB oplocks have been disabled.
Checking the configuration does not automatically mean that you should change it. In most troubleshooting situations, first document the existing configuration and identify the actual symptom before modifying SMB settings.
SMB Oplocks: Client vs Server
There are two sides to consider when investigating SMB opportunistic locking.
SMB Client
The SMB client is the Windows computer accessing a shared folder on another computer or server.
Windows exposes relevant client settings through Get-SmbClientConfiguration. Important properties include:
OplocksDisabledUseOpportunisticLocking
OplocksDisabled indicates whether opportunistic locking is disabled on the SMB client. UseOpportunisticLocking indicates whether the SMB client uses opportunistic locking.
SMB Server
The SMB server is the computer that provides the shared folder.
You can inspect the server-side setting with Get-SmbServerConfiguration. The relevant property is:
EnableOplocks
This setting indicates whether opportunistic locking is enabled in the SMB server configuration.
How to Check SMB Oplocks on the Windows 11 Client
The easiest way to inspect the SMB client configuration is with PowerShell.
Step 1: Open PowerShell
Open Windows PowerShell or PowerShell. For configuration inspection, using an elevated PowerShell window is a good practice, especially when you later need to perform administrative troubleshooting.
Step 2: Run Get-SmbClientConfiguration
Get-SmbClientConfiguration
This command displays the SMB client configuration.
The output can contain many properties, so you do not need to inspect every setting manually.
Step 3: Display Only the Oplock Settings
Use Select-Object to display the properties relevant to opportunistic locking:
Get-SmbClientConfiguration | Select-Object OplocksDisabled, UseOpportunisticLocking
You may see output similar to:
OplocksDisabled UseOpportunisticLocking
-------------- -----------------------
False True
The exact values on your computer can be different depending on its configuration.
How to Understand OplocksDisabled
The OplocksDisabled property tells you whether opportunistic locking has been disabled on the SMB client.
If it is:
- False: Opportunistic locking is not disabled by this setting.
- True: Opportunistic locking is disabled by this setting.
Do not interpret this property in isolation when troubleshooting a specific network application. Check the other SMB configuration and the server-side settings as well.
How to Understand UseOpportunisticLocking
The UseOpportunisticLocking property indicates whether the SMB client is configured to use opportunistic locking.
If it is:
- True: The SMB client is configured to use opportunistic locking.
- False: The SMB client is not configured to use opportunistic locking.
A useful diagnostic command is:
Get-SmbClientConfiguration | Format-List OplocksDisabled, UseOpportunisticLocking
This produces a simple list format that is easier to read when documenting a troubleshooting session.
How to Check SMB Oplocks on the Server
If the Windows 11 computer is also acting as an SMB server, you can inspect its server-side configuration.
Step 1: Run Get-SmbServerConfiguration
Get-SmbServerConfiguration
This retrieves the SMB server configuration.
Step 2: Display EnableOplocks
Get-SmbServerConfiguration | Select-Object EnableOplocks
You may see:
EnableOplocks
------------
True
The value shown on your computer is the important result.
Step 3: Display Multiple SMB Server Settings
When troubleshooting, it can be useful to compare oplocks with other important SMB settings:
Get-SmbServerConfiguration | Select-Object `
EnableOplocks, EnableLeasing, EnableMultiChannel, `
EnableSecuritySignature, RequireSecuritySignature, `
EncryptData, RejectUnencryptedAccess
This provides a broader view of the SMB server configuration.
Check Client and Server Settings Together
When investigating a network-share problem, checking only the Windows 11 client may not be enough.
For example, on the client run:
Get-SmbClientConfiguration | Select-Object OplocksDisabled, UseOpportunisticLocking
On the SMB server run:
Get-SmbServerConfiguration | Select-Object EnableOplocks
Record both results before making any changes.
This is especially useful when comparing a working computer with a computer that has the problem.
Check the Active SMB Connection
After confirming the configuration, inspect the actual SMB connections from the Windows 11 client.
Get-SmbConnection
You can display useful properties in a compact format:
Get-SmbConnection | Select-Object ServerName, ShareName, UserName, Dialect, Encrypted, NumOpens
This helps you identify which SMB server and share are currently being accessed.
For example, if the user reports a problem with a particular NAS or file server, you can verify that the Windows 11 computer actually has an active SMB connection to that server.
For more information about active SMB connections, see How to Check SMB Connections in Windows 11.
Check SMB Sessions on the Server
If you have access to the SMB server, you can also inspect active SMB sessions.
Get-SmbSession
You can filter the result by client computer:
Get-SmbSession -ClientComputerName "CLIENT-PC"
You can also display selected properties:
Get-SmbSession | Select-Object SessionId, ClientComputerName, ClientUserName, NumOpens
This can help connect a reported file-access problem with a specific SMB client and user.
For a detailed guide, see How to Check SMB Sessions in Windows 11.
Check Open SMB Files
If the problem involves a file that appears to be locked or unavailable, inspect open SMB files on the server.
Get-SmbOpenFile
You can filter by client computer:
Get-SmbOpenFile -ClientComputerName "CLIENT-PC"
You can also filter by user:
Get-SmbOpenFile -ClientUserName "DOMAIN\User"
These commands help determine whether an active SMB client is currently holding a file open.
See How to Check Open SMB Files in Windows 11 for a complete guide.
SMB Oplocks and File Locking Are Not the Same Thing
One important distinction is that an SMB oplock should not be confused with a simple file lock.
An application can open a file with specific sharing permissions, while SMB also uses protocol mechanisms to coordinate access between the client and server.
An oplock is primarily related to caching and coordination between an SMB client and server. A file being reported as "in use" does not automatically mean that SMB oplocks are disabled.
For this reason, avoid changing oplock settings simply because another user cannot edit a file.
First investigate the active SMB session, open file, application behavior, permissions, and other relevant configuration.
SMB Oplocks and SMB Leasing
Modern SMB versions include additional mechanisms for improving file access efficiency. When examining SMB server configuration, you may also encounter the EnableLeasing property.
This is one reason why a modern Windows SMB environment should not be diagnosed by looking at a single registry value or configuration parameter.
When troubleshooting a current Windows 11 SMB environment, examine the SMB client and server configuration together with the negotiated SMB dialect and active connection.
You can check the negotiated dialect with:
Get-SmbConnection | Select-Object ServerName, ShareName, Dialect
For more information, see How to Check SMB Dialect in Windows 11.
How to Check Whether SMB Oplocks May Be Related to a Performance Problem
If network files are unusually slow, do not immediately disable oplocks.
Start by establishing whether the problem is actually related to SMB file access.
- Check the Windows 11 network connection.
- Verify the network profile and file-sharing configuration.
- Confirm that the SMB server and share are reachable.
- Check the active SMB connection.
- Check the SMB dialect.
- Inspect client and server SMB configuration.
- Check open SMB files and active sessions.
- Test file transfers with a repeatable workload.
- Compare the results with another client if possible.
For basic network diagnostics, you can also review How to Check Network Adapter in Windows, How to Check Packet Loss in Windows 11, and How to Check Ethernet Link Speed in Windows 11.
Do Not Disable SMB Oplocks Without a Specific Reason
Disabling opportunistic locking can change how Windows handles remote file caching and network file operations.
Therefore, it should generally be treated as a troubleshooting or compatibility change rather than a routine performance optimization.
If you need to test whether oplocks are involved in a particular issue, document the original settings first and change only the relevant configuration.
After testing, compare the behavior with the original configuration.
A change that appears to solve one application problem could introduce different behavior for other applications or workloads.
How to Change SMB Oplock Settings
Windows exposes SMB client configuration through Set-SmbClientConfiguration.
For example, the cmdlet supports the OplocksDisabled and UseOpportunisticLocking parameters.
Before changing anything, first record the current values:
Get-SmbClientConfiguration | Select-Object OplocksDisabled, UseOpportunisticLocking
If a controlled test requires a configuration change, use the appropriate PowerShell parameter rather than making unrelated changes at the same time.
After testing, verify the resulting configuration again:
Get-SmbClientConfiguration | Select-Object OplocksDisabled, UseOpportunisticLocking
On an SMB server, the corresponding server configuration can be inspected with:
Get-SmbServerConfiguration | Select-Object EnableOplocks
The purpose of this article is to show how to inspect the settings. Changing them should be based on a specific troubleshooting requirement and a controlled test.
Useful SMB Oplock Commands
| Purpose | PowerShell Command |
|---|---|
| View SMB client configuration | Get-SmbClientConfiguration |
| Check client oplock settings | Get-SmbClientConfiguration | Select-Object OplocksDisabled, UseOpportunisticLocking |
| View SMB server configuration | Get-SmbServerConfiguration |
| Check server oplocks | Get-SmbServerConfiguration | Select-Object EnableOplocks |
| View active SMB connections | Get-SmbConnection |
| View SMB sessions | Get-SmbSession |
| View open SMB files | Get-SmbOpenFile |
| View negotiated SMB dialect | Get-SmbConnection | Select-Object ServerName, ShareName, Dialect |
Related SMB Settings to Check
SMB oplocks are only one part of the Windows SMB environment. If you are diagnosing network file-sharing behavior, it is useful to review several related settings.
- How to Check SMB Client Configuration in Windows 11
- How to Check SMB Server Configuration in Windows 11
- How to Check SMB Dialect in Windows 11
- How to Check SMB Signing in Windows 11
- How to Check SMB Encryption in Windows 11
- How to Check SMB Compression in Windows 11
- How to Check SMB Multichannel in Windows 11
- How to Check SMB Share Permissions 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
Frequently Asked Questions
What are SMB oplocks?
SMB opportunistic locks, or oplocks, are an SMB mechanism associated with client-side caching and coordination of remote file access.
How do I check SMB oplocks in Windows 11?
Run Get-SmbClientConfiguration | Select-Object OplocksDisabled, UseOpportunisticLocking on the SMB client. On an SMB server, use Get-SmbServerConfiguration | Select-Object EnableOplocks.
What does OplocksDisabled mean?
OplocksDisabled indicates whether opportunistic locking is disabled in the SMB client configuration.
What does UseOpportunisticLocking mean?
UseOpportunisticLocking indicates whether the SMB client is configured to use opportunistic locking.
What does EnableOplocks mean?
EnableOplocks is the relevant SMB server configuration property for determining whether opportunistic locking is enabled on the server.
Should I disable SMB oplocks to make network file sharing faster?
Not as a general optimization. Oplock behavior is part of SMB file-access and caching mechanisms. If you have a specific compatibility or performance problem, document the current configuration and test the change in a controlled manner.
Are SMB oplocks the same as file locks?
No. SMB oplocks are related to caching and client-server coordination, while file locking and sharing modes control how applications and clients can access a particular file.
Can SMB oplocks affect network applications?
They can be relevant to applications that work with files stored on SMB network shares, particularly when diagnosing unusual file-access behavior or compatibility problems.
Final Thoughts
Checking SMB opportunistic locking is a useful diagnostic step when investigating Windows 11 network file-sharing behavior.
The most important client properties are OplocksDisabled and UseOpportunisticLocking. On an SMB server, check EnableOplocks.
For reliable troubleshooting, do not examine these values in isolation. Compare the client and server configuration, inspect active SMB connections and sessions, check open files, and verify the negotiated SMB dialect.
Once you understand the current configuration, you can make a controlled troubleshooting decision instead of changing SMB settings blindly.

