Pull Servers information to .csv file

by Apr 13, 2011

I have below script.which give information of   free drive space  of C , D drive and time zone   for multible server 

 I like to add few more thing to this  script.

 Server Name:

Time Zone:

C drive free in MB:

D Drive free in MB:

IP:

Domain name :

OU:

Operating System:

Service pack:

 

 

$auth = Get-Credential

$ReturnServerInfo = @()

function get-dskinfo {

param ([string]$server)

$s = Get-WmiObject win32_computersystem -computername $server -credential $auth |select-Object caption

$f = Get-WmiObject win32_logicaldisk -computername $server -credential $auth |where-Object {$_.drivetype -eq "3"}

$t = Get-WmiObject win32_timezone -computername $server -credential $auth |select-Object caption

$cfree = $f |where-Object {$_.deviceid -eq "C:"}|select-Object freespace

$dfree = $f |where-Object {$_.deviceid -eq "D:"}|select-Object freespace

$dskinfoobj = new-Object psobject

$dskinfoobj | Add-Member -Type NoteProperty -Name "ServerName" -Value $("{0:N1}" -f($s.caption))

$dskinfoobj | Add-Member -Type NoteProperty -Name "C" -Value $("{0:N1}" -f($cfree.Freespace/1GB))

$dskinfoobj | Add-Member -Type NoteProperty -Name "D" -Value $("{0:N1}" -f($dfree.Freespace/1GB))

$dskinfoobj | Add-Member -Type NoteProperty -Name "TimeZome" -Value $("{0:N1}" -f($t.caption))

$dskinfoobj

$ReturnServerInfo += $dskinfoobj

}

$serverlist = get-Content "serverlist.txt"

foreach($serv in $serverlist){

ping -n 1 $serv

if ($? -eq $true){

. get-dskinfo "$serv"

}

else {

Write-Host $serv " " "Server not responding to ping"

$ErrorString = "$serv Server not responding to ping"

$ReturnServerInfo += $ErrorString

}

}

$ReturnServerInfo |Export-Csv report.csv –NoTypeInformation

 

 Can some 1  guide me or help me how to add this