I ran into this after a bad Kaspersky update caused my AV to delete my tcpip.sys file. I had to re-install TCP/IP, but after I did, I could not ping friendly names, although nslookup would return the correct records. The strangest thing about this issue is that if you go to Control Panel -> System and look at Computer Name it just says "Not Available." It seems that the system can't even resolve its own name! After fighting for hours, this thread lead me in the right direction. Thanks a ton! Here's what I did:
run regedit
Navigate to HKLM\System\CurrentControlSet\Services\Tcpip\Parameters
Look for three string values: Domain, Hostname, NV Hostname. (All three were missing on my affected system, so just create them if they are not there)
Set the Hostname and NV Hostname strings to your PC's name. (You can find you PC's name by opening a command prompt and typing hostname then pressing return. Your correct PC name will be displayed.)
Set the Domain string value to the name of your domain. (Usually something like yourdomain.local)
If the PC is not joined to a domain create the string and leave it blank.
Close regedit and reboot. Now you should be able to ping friendly names and surf the web/network normally.
I have no great insight into exactly what is going on here, but his fix worked like a charm.