Advertisement
Guest User

Untitled

a guest
May 26th, 2017
665
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.38 KB | None | 0 0
  1. # Author : Sunil Chauhan
  2. # Email: Sunilkms@gmail.com
  3. # Example 1 -: Get-MessageTrace -Sender Sunil.chauhan@xyz.com -Recipient testuser@xyz.com
  4. # Example 2 -: Get-MessageTrace -Sender Sunil.chauhan@xyz.com -Recipient testuser@xyz.com
  5. # Example 3 -: Get-MessageTrace -Recipient testuser@xyz.com
  6. # By Default only 24 hours of logs will be searched, for tracking last 4 Days
  7. # Example 4 -: Get-MessageTrace -Sender Sunil.chauhan@xyz.com -Recipient testuser@xyz.com -days 4
  8. # Example 5 -: Get-MessageTrace -Sender Sunil.chauhan@xyz.com -days 3
  9. # Example 6 -: Get-MessageTrace -Recipient Sunil.chauhan@xyz.com -days 3
  10. #
  11.  
  12. function Get-MessageTrace {
  13.  
  14. param(
  15. $sender,
  16. $Recipients,
  17. $days= 1
  18. )
  19.  
  20. write-host "By Default only 24 hours of logs will be searched, you can use parameter '-days 3' to search 3 days old logs" -ForegroundColor Yellow
  21.  
  22. $days= "-" + $days
  23. $TS = Get-TransportServer
  24. $report=@()
  25.  
  26. #Recipient Search Block
  27. if ($Recipients -ne $null -and $sender -eq $null)
  28. {
  29. foreach ($Server in $ts)
  30. {
  31. $Logs=Get-MessageTrackingLog -Recipients $Recipients -Start (get-date).AddDays($days) -Server $Server.Name -ResultSize unlimited
  32. $Report+=$logs
  33. }
  34. if ($report)
  35. {
  36. $report | Select Sender,Recipients,MessageSubject,EventId,Timestamp,RecipientStatus | sort timestamp -Descending
  37. }
  38. }
  39.  
  40. #Sender Search Block
  41. if ($sender -ne $null -and $Recipients -eq $null)
  42. {
  43.  
  44. foreach ($Server in $ts)
  45.  
  46. {
  47. $Logs=Get-MessageTrackingLog -Sender $sender -Start (get-date).AddDays($days) -Server $Server.Name -ResultSize unlimited
  48. $Report+=$logs
  49. }
  50. if ($report)
  51. {
  52. $report | Select Sender,Recipients,MessageSubject,EventId,Timestamp,RecipientStatus | sort timestamp -Descending
  53. }
  54. }
  55.  
  56. #Recipient & Sender Search Block
  57. if ($Recipients -ne $null -and $sender -ne $null)
  58.  
  59. {
  60. foreach ($Server in $ts)
  61. {
  62. $Logs=Get-MessageTrackingLog -Recipients $Recipients -Start (get-date).AddDays($days) -Server $Server.Name -ResultSize unlimited
  63. $Report+=$logs
  64. }
  65. if ($report)
  66. {
  67. $report | ? {$_.Sender -like $sender }| Select Sender,Recipients,MessageSubject,EventId,Timestamp,RecipientStatus | sort timestamp -Descending
  68. }
  69. }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement