Ping problem. system down!!

I wrote a script to test many systems to see if they are up or not. if a system is down, i am notified by email

now, most of the time,when systems are down in my enviroment, it is because the user accidentally or purposely (not knowing the consequences) hit the power button. so these problems are easy to fix

now my question is, how do I troubleshoot a system being down if the reason for it being down is NOT because the power button was hit??????????? what other troubleshooting can I do???

Well, what kind of downtime is it?
Is the network down, the interface down, the OS halted, hardware failure? Is the power on? If so, is the machine on? Can you log into the machine remotely? Can you log in locally (or have someone else do it)? Was a firewall put in to place that keeps ICMP pings from reaching the server (or the replies to you)?

There's too many things that could happen to a simple ping script to make a list...

thats the question am asking. How do I determine other reasons for a system being down besides the one I listed in my first post???

Livenfree, the reasons you listed, how can I solve it??

get shell access some how and see if you can ping out side machines, your gateway, systems out side of your network, on the internet.....also check to see if the NIC is up, do a netstat -a and take a look at it, also do netstat -r or the route command and see if something in your routing table is screwed up or not.