Você pode tentar usar a opção Detecção de SO do nmap, -O .
nmap -O host
Você também pode tentar ver o OS String ou Server String do host. Embora possa ser alterado, a string padrão do Servidor para o Samba é Samba Server Version %v . Não tenho certeza de qual string de servidor padrão do Windows é para todas as variantes, mas no Win7 SP1 eu tenho Windows 7 Professional 6.1 .
No meu servidor Linux Samba, a cadeia do SO é Unix e no Win7 SP1 é Windows 7 Professional 7601 Service Pack 1 .
$ smbclient -L host
Domain=[MYDOMAIN] OS=[Unix] Server=[Samba x.y.z]
Sharename Type Comment
--------- ---- -------
Como esses valores podem ser alterados, você não pode confiar nele completamente; mas pode te dar uma ideia inicial.