Parse Exchange Transport Logs

I get asked this at some point in almost every Hybrid migration. The answer is always to turn up your SMTP logging to get those details. The problem is that parsing that data is difficult. Unlike an HTTP log where each hit was a transaction, SMTP logs contain the entire SMTP co

 
 
 
 
 
5 Star
(1)
411 times
Add to favorites
Exchange
7/10/2015
E-mail Twitter del.icio.us Digg Facebook
Sign in to ask a question


  • I get an Error
    3 Posts | Last post December 01, 2015
    • ConvertFrom-Csv : Das Argument für den Parameter "InputObject" kann nicht überprüft werden. Das Argument ist NULL. Gebe
      n Sie ein Argument an, das nicht NULL ist, und führen Sie dann den Befehl erneut aus.
      Bei C:\batches\Parse-TransportLogs-1.1\Parse-TransportLogs.ps1:51 Zeichen:49
      + $SMTPTransactions = Convertfrom-Csv -InputObject <<<<  $FilteredLogs -Header dt,connector,session,sequence-number,loc
      al,remote,event,data,context
          + CategoryInfo          : InvalidData: (:) [ConvertFrom-Csv], ParameterBindingValidationException
          + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.ConvertFromCsvCommand
      
      
      Count Name
      ----- ----
          1
      
      Could you help?
    • It is stating that the argument is null, which means that you do not have any .log files in the folder you specified.  Sorry, I didn't add any real error handling for that.  Confirm that there are log files in the specified path.  You may need to enable transport logging.
    • Hi Chris, thank you for your answer. 
      
      I found the solution now: on my testsystem i had powershell 2.0. Your script seems to run only with newer powershells. The error message was not very helpful. 
      
      On a newer system your script runs. Thanks for the script.