How do you check what version of Server Message Block client a workstation is using on Windows?
Solution 1
If you have Windows 8.1 or 2012, you can use the PowerShell cmdlet Get-SmbConnection
for that.
To interpret the answer (copied and pasted from here):
- SMB 1 - Windows 2000
- SMB 2 - Windows Server 2008 and WIndows Vista SP1
- SMB 2.1 - Windows Server 2008 R2 and Windows 7
- SMB 3.0 - Windows Server 2012 and Windows 8
Sample output:
ServerName ShareName UserName Credential Dialect NumOpens
---------- --------- -------- ---------- ------- --------
SERVER2 f$ DOMAIN\USER otherdomain\otheruser... 2.02 1
SERVER1 backups DOMAIN\USER DOMAIN.LOCAL\USER 3.02 2
SERVER3 users DOMAIN\USER DOMAIN.LOCAL\USER 2.02 1
If you don't, perhaps this related question will help:
Solution 2
You can check the status of the SMB 1/2 services, as seen here:
sc query mrxsmb10
sc query mrxsmb20
💡 In PowerShell, you will need to use sc.exe
instead of sc
!
Related videos on Youtube
leeand00
Projects jobdb - Creator of Open Source Job Search Document Creator/Tracker http://i9.photobucket.com/albums/a58/Maskkkk/c64nMe.jpg Received my first computer (see above) at the age of 3, wrote my first program at the age of 7. Been hooked on programming ever since.
Updated on September 18, 2022Comments
-
leeand00 almost 2 years
Sometimes over slow connections we switch to an older version of the protocol. I'd like to be able to check and see which version is being used, I only know how to set the version ala:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi sc.exe config mrxsmb20 start= disabled
How does one check the version of the protocol being used without using Powershell?
-
raja about 8 yearsWhy would you switch to an older version over slow connections?
-
leeand00 about 8 years@JimB Because it doesn't work if you don't. The Microsoft KB says to do exactly that.
-
raja about 8 yearsCan you post that KB? Autotuming can cause performance problems but SMB peformance usually rises as the version gets higher.
-
leeand00 about 8 years@JimB I think it's this one: support.microsoft.com/en-us/kb/2696547
-
raja about 8 yearsThat link tells you how to disable the various protocols but also explain what you lose - IE disabling SMB2 looses the better network performamce,and high latency performance. In fact that one says (correctly) ONLY do this as a temporary troubleshooting measure.
-
leeand00 about 8 years@JimB Well I'm not making the decisions, I'm just implementing the solution...
-
raja about 8 yearswhat was the problem you were doing this to try to fix? That would be a better question to solve the problem. If anything reducing the SMB version should make life worse for poor network connectivity.
-
leeand00 about 8 yearsThe problem was that their connection would disconnect while they had an office document open; and then they would get a message stating that someone else was editing it. And they would have to contact IT to delete the temp file on the server to free it up again so they could open it again.
-
-
leeand00 about 8 yearsDo I have to install that?
-
leeand00 about 8 yearsSome of my users are remote it might not be practical...
-
Katherine Villyard about 8 yearsIt depends on your version of PowerShell, I imagine; it's built into Windows 8 and above, at least.
-
leeand00 about 8 yearsOh I have Windows 7... :p
-
Katherine Villyard about 8 yearsI don't know about 7; I'd have to look. It might be built-in there, too.
-
Katherine Villyard about 8 yearsAlas. Windows 8.1 or server 2012. Sorry. :(
-
leeand00 about 8 yearsI couldn't run the suggested command as admin locally or other wise. I'm running powershell 3 0 -1 -1
-
leeand00 about 8 yearsThat's kind of unbelievable.
-
Seymour Harding SimRacerSeymou about 7 yearsGet-SmbConnection isn't entirely helpful, as it's listing the current SMB connections and what Dialect (SMB version) they have negotiated between the 2 parties. It isn't showing the client or servers SMB capabilities.
-
Cory Knutson almost 7 yearsThat is because
sc
in Powershell is an Alias forSet-Content
. To run this in Powershell, usesc.exe query [...]