Find server OS with Powershell and TTL
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