Find server OS with Powershell and TTL | I do stuff sometimes.

Ramblings about things.

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


Post a Comment

  • Archives