none
PowerShell: Отправить e-mail если в папке есть файлы старее 22 часов RRS feed

  • Вопрос

  • Добрый день

    Подскажите пожалуйста как написать скрипт, который будет проверять определенную папку и если в ней есть файлы с датой изменения > 22 часов, и если есть - отсылать e-mail.

    Заранее спасибо!

    30 октября 2012 г. 5:50

Ответы

  • $date = (Get-Date).AddHours(-22)
    $body = Get-ChildItem | Where {$_.PsIsContainer -and $_.LastWriteTime -lt $date} | Select -Exp FullName | Out-String
    if($body)
    {
    	send-mailmessage -to "User01 <user01@example.com>" -from "User02 <user02@example.com>" -subject "Test mail" -Body $body
    }

    • Помечено в качестве ответа Philip Portnoy 30 октября 2012 г. 6:55
    30 октября 2012 г. 6:14
    Отвечающий
  • Оно реагирует только на папки, а мне требуются и файлы (по крайней мере в письме приходит только имя подпапки, без файлов).

    $_.PsIsContainer заменить на !$_.PsIsContainer
    • Помечено в качестве ответа Philip Portnoy 30 октября 2012 г. 6:55
    30 октября 2012 г. 6:33
    Отвечающий

Все ответы

  • $date = (Get-Date).AddHours(-22)
    $body = Get-ChildItem | Where {$_.PsIsContainer -and $_.LastWriteTime -lt $date} | Select -Exp FullName | Out-String
    if($body)
    {
    	send-mailmessage -to "User01 <user01@example.com>" -from "User02 <user02@example.com>" -subject "Test mail" -Body $body
    }

    • Помечено в качестве ответа Philip Portnoy 30 октября 2012 г. 6:55
    30 октября 2012 г. 6:14
    Отвечающий
  • Оно реагирует только на папки, а мне требуются и файлы (по крайней мере в письме приходит только имя подпапки, без файлов).
    30 октября 2012 г. 6:29
  • Оно реагирует только на папки, а мне требуются и файлы (по крайней мере в письме приходит только имя подпапки, без файлов).

    $_.PsIsContainer заменить на !$_.PsIsContainer
    • Помечено в качестве ответа Philip Portnoy 30 октября 2012 г. 6:55
    30 октября 2012 г. 6:33
    Отвечающий