PS:Мониторинг freespace,size, used space, uptime - черновик
Добавлено: 19 дек 2014 10:43
### собрано из кусков, найденных на просторах инета.
## генерируем и высылаем на почту табличку в cvs и html файл таких параметров, как размер HDD, его использованное место
## свободное место, занятое место, время работы сервера.
## список серверов в файле servers.txt - в столбик без пробелов и пустых строк
##
### не удалось понять, почему не отобраджается UpTime в html
$data=Get-Content d:\scripts\servers.txt |? {Test-Connection $_ -Quiet -Count 2}|
ForEach-Object {Get-WmiObject -computername $_ win32_logicaldisk -fi "drivetype=3"|
select @{Name="Computername";expression={$_.SystemName}},
DeviceID,
@{Name="SizeGB";Expression={"{0:N2}" -f ($_.Size/1GB)}},
@{Name="FreeGB";Expression={"{0:N2}" -f ($_.FreeSpace/1GB)}},
@{Name="UsedGB";Expression={"{0:N2}" -f (($_.Size-$_.FreeSpace)/1GB)}},
@{Name="PerfFree";Expression={"{0:P2}" -f ($_.FreeSpace/$_.size)}}
ForEach-Object {Get-WmiObject -ComputerName $_ win32_operatingsystem |
select @{Name="ComputerName";Expression={$_.CSName}},
@{Name="LastBoot";Expression={$_.ConvertToDateTime($_.LastBootUpTime)}},
@{Name="Uptime";Expression={(Get-Date)-$_.ConvertToDateTime($_.LastBootUpTime)}}
}
}
$data |sort ComputerName | ft -AutoSize -Wrap -Property Computername,SizeGB,FreeGB,UsedGB,PerfFree,LastBoot,Uptime | Out-File d:\scripts\disk.txt
$data | sort ComputerName | Export-Csv d:\scripts\disk.csv
$data | sort ComputerName | ConvertTo-Html -Title "Utilization" -CssUri diskutiliz.css| Out-File d:\scripts\disk.html
Send-MailMessage -To admin@contoso.com -Subject Report -SmtpServer email.contoso.com -From host4.report@contoso.com -Port 25 -Attachments D:\scripts\disk.html, D:\scripts\diskutiliz.css
## генерируем и высылаем на почту табличку в cvs и html файл таких параметров, как размер HDD, его использованное место
## свободное место, занятое место, время работы сервера.
## список серверов в файле servers.txt - в столбик без пробелов и пустых строк
##
### не удалось понять, почему не отобраджается UpTime в html
$data=Get-Content d:\scripts\servers.txt |? {Test-Connection $_ -Quiet -Count 2}|
ForEach-Object {Get-WmiObject -computername $_ win32_logicaldisk -fi "drivetype=3"|
select @{Name="Computername";expression={$_.SystemName}},
DeviceID,
@{Name="SizeGB";Expression={"{0:N2}" -f ($_.Size/1GB)}},
@{Name="FreeGB";Expression={"{0:N2}" -f ($_.FreeSpace/1GB)}},
@{Name="UsedGB";Expression={"{0:N2}" -f (($_.Size-$_.FreeSpace)/1GB)}},
@{Name="PerfFree";Expression={"{0:P2}" -f ($_.FreeSpace/$_.size)}}
ForEach-Object {Get-WmiObject -ComputerName $_ win32_operatingsystem |
select @{Name="ComputerName";Expression={$_.CSName}},
@{Name="LastBoot";Expression={$_.ConvertToDateTime($_.LastBootUpTime)}},
@{Name="Uptime";Expression={(Get-Date)-$_.ConvertToDateTime($_.LastBootUpTime)}}
}
}
$data |sort ComputerName | ft -AutoSize -Wrap -Property Computername,SizeGB,FreeGB,UsedGB,PerfFree,LastBoot,Uptime | Out-File d:\scripts\disk.txt
$data | sort ComputerName | Export-Csv d:\scripts\disk.csv
$data | sort ComputerName | ConvertTo-Html -Title "Utilization" -CssUri diskutiliz.css| Out-File d:\scripts\disk.html
Send-MailMessage -To admin@contoso.com -Subject Report -SmtpServer email.contoso.com -From host4.report@contoso.com -Port 25 -Attachments D:\scripts\disk.html, D:\scripts\diskutiliz.css