Below Powershell script take list of servers as input and it pings the server, if servers replies then it will writes Live server name in C:\scripts\serversRunning.txt.
$ServerList = Get-Content “C:\scripts\Serverlist.txt”
foreach($Server in $ServerList)
{
$Server
$ping = New-Object System.Net.NetworkInformation.Ping
$reply = $null
$Server = $Server.trim()
$reply = $ping.Send($Server)
if ($reply.status -eq “Success”) {
$out = $Server | out-File “C:\scripts\serversRunning.txt” -Append
} else {
$Server | out-File “C:\scripts\serversnotpinging.txt” -Append
}
}