Windows File Sharing — SMB3

The current emphasis in Windows world is file sharing via the cloud. However, there may be good reasons to avoid that. You could use the SSH server in Windows the way Linux does, and install an SFTP client such as FileZilla, but it’s very complicated to set up. The old SMB file sharing protocol is still native to Windows, but it does require a few more hoops to jump through than in the past.

Whatever you do, avoid any tutorial that includes using SMB1. That’s terribly insecure and wholly unnecessary. However, using the latest SMB protocol (SMB3) is not enabled by default.

On the hosting system:

1. Select a folder or some folders you want to share. In my house, we use the built-in Windows “Public user” folders, all of them, on the host computer (the server). Just open the file explorer, select the folder, click the View tab and select “Options”. In the window that opens, select the “View” tab and scroll down and insure the “Use sharing wizard” has a checkmark in the box.

2. Open the services control utility. Just open your Windows menu and start typing in “services” and it should be listed there among the options. Scroll down to FDResPub (Function Discovery Resource Publication). Double-click and open the dialogue to start the service (click the “Start” button), and then switch it to Automatic. Do the same for FDPHost (Function Discovery Provider Host).

3. Turn on network discovery. (Menu > Settings > Network and Internet. Then select whichever item provides your LAN connection — wifi, ethernet, etc. Click on the properties for whatever your network name is and make sure the “private” button is clicked. That enables the rest of the devices on the LAN to see your computer as part of the network.

4. Turn on file and printer sharing using the Control Panel. Same as before, click the menu button and start typing in “control panel” and it should be listed first. If you don’t know where to find it, look that up online, because you’ll need to remember how to do it for every system on the LAN that you wish to grant access to your shared folder. Keep that control panel page open and…

5. While you are there, scroll down to “Advanced sharing” and make sure that all those items are properly enabled: private network, network discovery, file and printer sharing, etc. I’ve seen it where they were somehow disabled even after turning it on as in the previous step. Keep it open…

6. Under “All networks” turn off “password protected sharing”.

7. Go back to your file browser and find the folder you plan on sharing. Right click on the folder and select “Properties”. Hit the “Security” tab and walk through the process of ensuring that “Everyone” has access to that folder, to include read and write access.

8. Close all that stuff and right-click on your Windows menu button so you can select to run PowerShell as administrator. Paste the following into the terminal window:

Set-SmbServerConfiguration -EnableSMB2Protocol $true

Hit your ENTER key. Hint: Enabling SMB2 includes SMB3. Type “exit” in the window to close it.

9. On both server and all clients, do the following:

Menu button > type in CMD and select to run it as administrator. I suppose you can do it in PowerShell, but you aren’t supposed to. Paste into the window these commands, and hit the ENTER key after each one:

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb20 start= auto

That should do it. All the clients should be able to check the “Network” icon on the side-panel of the file browser, and after a few moments, see the sharing server listed.

To find out what your server calls itself, right-click on the menu, select “System” and in the window that opens, you’ll see near the top “Device name”. It’s typically in the format of “DESKTOP-[random string]”. (For laptop clients, Windows usually calls itself “LAPTOP-[random string]”.)

This entry was posted in computers and tagged , , . Bookmark the permalink.