Many people, including me, have had problems sharing files among PCs on their networks. After a lot of Googling and experimenting, I have found the following solves most of the problems, at least in my private (home) Wi-Fi and Ethernet network of six PCs running behind a firewall. Maybe part of the following procedures is now overkill, but things are working for me so far.
Most of my PCs are now running Windows version 21H1; all were previously running 20H2. It's possible that things would work less well in a network with one or more PCs running other versions. Also, in case it makes any difference, for signons all of my PCs use a local account instead of my Microsoft account.
The following procedures do not attempt to restrict sharing in any way, e.g., to prevent certain PCs or people from accessing the shared files. In theory such restrictions can be configured; I didn't need such restrictions and haven't tried to test those configurations.
To make the process clearer, in the following I'll focus on two PCs: XPS8940, which has some files to be shared, and XPS13-2, which needs to access those files over the network. Of course the roles could be reversed. Any PC could have files it allows other PCs to access, but that PC could also access files owned and shared by other PCs. Just apply the sharer (owner) procedures or accesser procedures or both to each PC as appropriate for what that PC is supposed to do.
File sharing is done on a folder (directory) basis. You set up a share for a folder and thus provide access to all the folders and files within it, i.e., the whole tree for that folder.
Set up the base networking environment:
To share a folder, i.e., to allow other PCs to access the folder:
There are alternatives to this procedure, e.g., to restrict access to only some users, but this simple approach seems to meet my needs.
After doing this on a particular PC, you can see all the shares that PC has created by doing this:
To access resources on the sharing PC (XPS8940):
Here "Jeff" is the name for an account on the sharing PC (XPS8940) for which you have the password.
Setting up such a credential may not really be required, but once long ago I needed it and haven't later tried to delete it everywhere and test to see if things still work. The "Everyone" setting in the previous section and the "Turn off password protected sharing" setting in the next section would seem to make this credential unnecessary.
Reminder: In Control Panel > System, make sure the Computer Name and Workgroup are displayed as expected on all the participating PCs (see above, Initially on All the PCs).
Private (current profile) Network discovery * Turn on network discovery x Turn on automatic setup of network connected devices. File and printer sharing * Turn on file and printer sharing Guest or public Network discovery * Turn off network discovery File and printer sharing * Turn off file and printer sharing All Networks Public folder sharing * Turn off Public folder sharing File sharing connections * Use 128 bit encryption to help protect ... Password protected sharing * Turn off password protected sharing
I didn't test other possibilities in the above, e.g., allowing Guest sharing.
* SMB 1.0/CIFS File Sharing Support - SMB 1.0/CIFS Automatic Removal ----- (? had to turn off on some PCs) x SMB 1.0/CIFS Client x SMB 1.0/CIFS Server x SMB Direct ------------------------- (? only if present in list)
* Function Discovery Provider Host * Function Discovery Resource Publication * SSDP Discovery * UPnP Device Host
In this example, XPS13-2 should now be able to access the shared folders on XPS8940. The most reliable way to do that seems to be to set up a shortcut on XPS13-2. In the shortcut the target address should be \\XPS8940\zzz, where zzz is the share name that was set up on XPS8940 for the shared folder (see On the Sharing PC (XPS8940), the Owner of the Folders for how this was done).