Register for the iXsystems Community to get an ad-free experience and exclusive discounts in our eBay Store.
Resource icon

Resource How to get your FreeNAS Shares to appear in Windows Network Neighborhood 1

Western Digital Drives - The Preferred Drives of FreeNAS and TrueNAS CORE
Microsoft decided quite some time ago to relegate UNIX boxes to second class citizens when it comes to having a place in Network Neighborhood (NN). When this decision is combined with a cat's cradle of protocols whizzing across the network (NetBIOS, WINS, SMB1/2/3) it became virtually impossible to untangle a means of getting said boxes to reappear in NN.

This resource provides a means to make that happen. In full disclosure I am "standing on the shoulders of giants" with this solution. The real meat of the solution is christgau's excellent python code providing a daemon for Web Service Discovery, (see link in section 2)

Here I take that code and create a script which allows it to run at FreeNAS startup.


1. Follow the instructions regarding the removal and/or disablement of NetBIOS, SMB1 and WINS from the original article

2. Create a file /usr/local/bin/wsdd (using your favourite editor) with the contents of the excellent module from christgau File here

nano /usr/local/bin/wsdd

3. Give group and other execution rights to the file so that it may be called and run by the script

chmod go+x /usr/local/bin/wsdd

4. Allow the file to be run by the python3 installation on FreeNAS

In FreeNAS (my version) the python reference in /usr/local/bin is a symlink to python3. The file needs python3 so if yu are running a version of FreeNAS without python3 this solution will not work.

nano /usr/local/bin/wsdd

Modify the hashbang in the file to


5. Create a shell script somewhere mountable.

I called mine (not very original ;))

The code has a number of switches which are worth exploring

 /usr/local/bin/wsdd --help 

The default behavior is the listen and respond on all interfaces and on the default WORKGROUP for the FreeNAS box. This can be onerous especially the interfaces part if you have a lot of virtual interfaces due to VMs Jails etc. Better to listen on the hardwired i/f(s) only. I'm only using 1 - if you need more add another -i entry.
One of my FreeNAS boxes box is also attached to an AD domain so I have included that command too (note that the -d switch overrides any -w entries)

Contents of the script:


/usr/local/bin/wsdd -w <workgroup name> -i <preferred interface> &

if connected to a domain try this variation


/usr/local/bin/wsdd -d <domain name> -i <preferred interface> &

(NB the inclusion of an ampersand at the end of the command as this will allow the command to run in the background. This is a bit hacky but I didn't want to dig into the creation of a service on FreeNAS in light of the up-and-coming built-in solution in 11.3-ish :))

6. Set up a Task to run at startup

  1. Goto Tasks
  2. Choose Init/Shutdown Script
  3. Add
  4. Enter details
    • Type = Script
    • Point to
    • When = PostInit

7. Reboot FreeNAS

8. Windows Network explorer now shows FreeNAS Server+Shares :):)

Thanks heaps to everyone who has made the reappearance of UNIX Shares in the Network Neighborhood possible!! is brilliant!

Since this resource was first written the marvelous has been incorporated into FreeNAS. In 11.3 and 12.0, /usr/local/bin/ is part of the standard install, and this aux parameter on SMB enables it:

enable web service discovery=yes.

If you want more granular control over the appearance of your server entry in windows explorer there are a number of switches. I now use the following call to wsdd

/usr/local/bin/wsdd --shortlog -i <preferred interface> -d <preferred domain> -n HOST01 --preserve-case

Using this call enables the Network Neighbourhood entry to appear as "HOST01" and remain capitalized to match the other entries.
Ian Carson
First release
Last update
0.00 star(s) 0 ratings