Я ищу для создания сценария PowerShell, который ищет выходные данные и ищет число больше, чем и отправляет электронное письмо.В настоящее время я использую скрипт для поиска текста и отправки электронной почты, и это работает.Но теперь я хочу, чтобы он выполнил поиск текста и числа, превышающего его, и отправил электронное письмо.
Это текущий скрипт:
$Output = 'D:\test.data\QueuedJobss.txt'
d:
set-location -Path 'D:\program files\veritas\netbackup\bin\admincmd'
.\bpdbjobs -summary -L > $Output
$Queued = (Select-String -Path $Output -Pattern '(?<=Queued:\s+)\d+').Matches.Value
$MailArgs = @{
'To' = 'ab2112@test.com'
'From' = 'netbackup@test.com'
'Subject' = 'Media Server Offline!'
'Attachments' = $Output
'Body' = 'Check NBU'
'SmtpServer' = 'smtp.test.worldwide.com'
}
Send-MailMessage @MailArgs
}
Но теперь я хочу, чтобы он выполнял поиск последующий вывод:
Summary of jobs on ustestnbma01
Queued: 1
Waiting-to-Retry: 0
Active: 5
Successful: 25876
Partially Successful: 136
Failed: 327
Incomplete: 0
Suspended: 0
Total: 26345
, где написано Queued: 1
.Это то, что я хочу найти, и если оно больше 50, отправьте письмо.Кроме того, этот вывод ставит много пробелов после слова в очереди, это проблема?Если это так, я также могу иметь вывод, читаемый как:
MASTER SERVER QUEUED REQUEUED ACTIVE SUCCESS PARTSUCC FAILED INCOMP SUSP
ustestnbma01 1 0 4 25952 136 328 0 0