This handy little thing will identify the Operating System on one or more servers, using the OS’s default TTL value as a trigger.
(Some OS’ uses different TTL values. Most of them are listed on this site.)
cls $servers = "Server1","Server2" foreach ($server in $servers) { $TTL = Test-Connection $server -Count 1 | select -exp ResponseTimeToLive Switch($TTL) { {$_ -le 64} {"$server runs Linux OS"; break} {$_ -le 128} {"$server runs Windows OS"; break} {$_ -le 255} {"$server runs UNIX OS"; break} } }
– F