I made a simple powershell to list server accounts in AD, list versions and service pack level. It will also do a simple test-connection to see if it is alive (remember 2008 firewall will block icmp by default.
Import-Module activedirectory
$htmlheader = “<html><head></head><body><table>”
$trtdstart =”<tr><td>”
$trtdstart3 =”<tr bgcolor=#80ff80><td>”
$trtdstart1 =”<tr bgcolor=#40FF00><td>”
$trtdstart2 =”<tr bgcolor=#FF8080><td>”
$tdstart =”<td>”
$tdstartstop=”</td><td>”
$tdend=”</td>”
$trtdend =”</td></tr>”
$htmlfoot= “</table></body></html>”
$counter = 1
$servere = get-adcomputer -filter {(Operatingsystem -like “*server*”)} -properties Name,OperatingSystem,OperatingSystemVersion,OperatingSystemServicePack -ResultSetSize 4000 -SearchScope subtree | Sort-Object -Property Name
$htmlheader | Out-File -FilePath C:\Powershell\servers.htm
$servere | ForEach-Object -process {
$gruppe= $null
$pingtest = Test-Connection -ComputerName $_.Name -WarningAction silentlycontinue -Count 1 -ErrorAction silentlycontinue
if ($_.OperatingSystemVersion -like “*6.1*”){
$trtdstart1 | Out-File -FilePath C:\Powershell\servers.htm -Append
} elseif ($_.OperatingSystemVersion -like “*6.0*”){
$trtdstart1 | Out-File -FilePath C:\Powershell\servers.htm -Append
} elseif ($_.OperatingSystemVersion -like “*5.2*”){
$trtdstart3 | Out-File -FilePath C:\Powershell\servers.htm -Append
} else
{
$trtdstart2 | Out-File -FilePath C:\Powershell\servers.htm -Append
}
$Counter| out-file -FilePath C:\Powershell\servers.htm -Append
$Counter=$Counter+1
$tdstartstop | Out-File -FilePath C:\Powershell\servers.htm -Append
$_.Name| out-file -FilePath C:\Powershell\servers.htm -Append
$tdstartstop | Out-File -FilePath C:\Powershell\servers.htm -Append
$_.OperatingSystem| out-file -FilePath C:\Powershell\servers.htm -Append
$tdstartstop | Out-File -FilePath C:\Powershell\servers.htm -Append
$_.OperatingSystemVersion| out-file -FilePath C:\Powershell\servers.htm -Append
$tdstartstop | Out-File -FilePath C:\Powershell\servers.htm -Append
$_.OperatingSystemServicePack | out-file -FilePath C:\Powershell\servers.htm -Append
$tdstartstop | Out-File -FilePath C:\Powershell\servers.htm -Append
$pingtest.IPV4Address.IPaddresstostring | Out-File -FilePath C:\Powershell\servers.htm -Append
$tdstartstop | Out-File -FilePath C:\Powershell\servers.htm -Append
if ($pingtest) { “Echo reply” |Out-File -FilePath C:\Powershell\servers.htm -Append } else { “No reply” |Out-File -FilePath C:\Powershell\servers.htm -Append }
$tdstartstop | Out-File -FilePath C:\Powershell\servers.htm -Append
$trtdend | Out-File -FilePath C:\Powershell\servers.htm -Append
}
$htmlfooter | out-file -FilePath C:\Powershell\servers.htm -Append