I'm not a pro Windows user but if you run your script under WSL bash, the rules are the same. POSIX doesn't care about the file extension.
Windows however, doesn't seem to have the concept of sheband. It merelly decides how to run the file based on its extension (which should be *.cmd instead of *.sh).
For more information, have a look at this SO question. Hope that helps.