특정 폴더 공간 모니터링을 모니터링하고 임계 값을 초과하면 경고 메시지를 보내는 스크립트를 작성했습니다. 내가 겪고있는 문제는 여러 대의 서버가 여러 대의 전자 메일을받는 것과 같습니다. 그래서 문제가있는 모든 서버를 가진 하나의 메일에 결과를 통합 할 수 있습니다. 아래는 스크립트입니다. -Powershell 스크립트로 폴더 공간 모니터링
$servers = Get-Content C:\server.txt
$folder = "D$\store\"
$smtpserver = "XXXXXX"
@(
foreach ($Server in $Servers)
{
$folderSize = (Get-ChildItem -path \\$server\$folder -Recurse -Force | Measure-Object -Property Length -Sum).Sum
if ($folderSize -gt '60Gb') {
Write-output "Folder size exceeded 60 GB on server:-$Server. Current size on $server is $folderSize. Please review and take further action." | Out-file -FilePath "C:\reslt.txt"
Send-MailMessage -to [email protected] -from [email protected] -Subject "Limit Alert" -SmtpServer $smtpserver -Attachments "C:\reslt.txt"
}
else { Write-output "Folder size is within 60GB on $server." }})
무엇을 시도 했습니까? 텍스트 파일에 출력을 작성하고 foreach 루프로 보내고, 결과를 많이 작성한 다음 텍스트 파일을 작성하고 루프가 완료된 후 보내야합니다. –