none
Very Urgent -How to read all Message log entries(data) from Exchange server 2007? RRS feed

  • Question

  • Hi..

    I am new in Exchange server 2007.. I want to perform the message tracking operations using Exchange server 2007 message log entries.

    I have installed the dotnet2005 in my machine with XP os and Exchange server 2007  have the another domain. how can I read the message log datas via my dotnet code using any method like web service or remote power shell commands or etc..

    Please help me I want to read all fields from every  message lg files( exchange server 2007)

    Pls Pls help me  very urgent for me..

    By

    Path finder.....

    Wednesday, January 12, 2011 6:58 AM

Answers

  • As far as i know NO while you maybe able to install WinRM and Powershell v2 on a Exchange 2007 server the actual cmdlets are only written and supported to work with local powershell where the Exchange 2007 Administration tools are installed. If your a developer write your own WCF or web-service that runs on the Exchange server that executes this cmldet and then returns to the data to your remote client which achieve the same thing.

    Cheers
    Glen

     

     

    Thursday, January 20, 2011 2:34 AM
  • Thanks Glen.

    Finaly I got the result. I have run my code using same domain and I have retrived all the datas. I have finished my task the main  reason you. thanks, thank you very much glen.

    Mr Glen, I have another one doubt. 

    In Exchange server 2003  I have developed the message tracking task using WMI via vb dotnet. I have used the WQL query for the message filtering purpose. for example 

    "Select * from Exchange_MessageTrackingEntry where Senderaddress='xxxxx@yyy.com' And Subject='xxxxxx'"

     I got all the entries from message log file Except the recipient filter option. But in same query wont work when I pass the Recipient address filter otions like 

    "Select * from Exchange_MessageTrackingEntry where RecipientAddress='xxxxx@yyy.com'"


    So first I have retrived  the given filter  details(Not consider the recipient filter option) ,after that I have again filtered the first time fitering result using "if" condition  when the  given recipient filter option. I know it is not a good way..

    How can I perform the Recipient address filter otions from message tracking using WMI(Exchange server 2003) ?
    That means I want the WQL Query..

    Please help me replay me..

    By
    Path Finder..

    Friday, January 21, 2011 2:48 PM
  • The RecipientAddress is an array of values and WQL doesnt support querying arrays see the note in http://msdn.microsoft.com/en-us/library/aa392902%28v=vs.85%29.aspx so filtering it at the client side after the query like your doing is the only way that will work.

    Cheers
    Glen

    Friday, January 21, 2011 10:48 PM

  • Very very thanks Glen.

    See you again.

     By
     
    Path Finder.

     

    Saturday, January 22, 2011 5:23 AM

All replies

  • Please have a look of below thread :

    How to read message Tracking log entries from Exchange Server 2010 using Dotnet:                       

    http://social.technet.microsoft.com/Forums/en-US/exchangesvrdevelopment/thread/dd53e228-b84e-4cdc-843b-47629ac6384c

    You can develop your own script using powrshell cmdlet for this task.

    Also see Glen blog for more detail:                                                                                   

    http://gsexdev.blogspot.com/2008/09/wizbang-exchange-2007-message-tracking.html


    Anil
    • Edited by Anil K Singh Wednesday, January 12, 2011 10:01 AM Alligned Text
    Wednesday, January 12, 2011 10:00 AM
  • Thanks Anil..

    How to read message Tracking log entries from Exchange Server 2010 using Dotnet:                       

    http://social.technet.microsoft.com/Forums/en-US/exchangesvrdevelopment/thread/dd53e228-b84e-4cdc-843b-47629ac6384c this  is also my thread(Jo swa) and I have finished the Exchange Server 2010 using Dotnet task.

    Now I want create Message tracking task using Exchange server 2007.  Thats why I am post the forum newly.

    please help me.. and replay me..

    By

    Path Finder...

    Wednesday, January 12, 2011 11:02 AM
  • The EWS Tracking operations and the ability to remote the Exchange Management Shell cmdlets where features that where added in Exchange 2010 and cannot be used on Exchange 2007. With Exchange 2007 you need to run your code from a machine a that has the Exchange 2007 Management Tools installed then you can invoke the cmdlet locally on that machine use http://msdn.microsoft.com/en-us/library/bb332449(v=exchg.80).aspx as a reference.

    Cheers
    Glen

    Thursday, January 13, 2011 6:00 AM
  • Thanks Glen..   

    your last replay URl  is very useful for me. My machine (win XP and Dotnet 2005) and Exchange server 2007(Windows server 2003 R2 X64 Standard Edition) both are different domains.

    I want to run the dotnet program in my machine which is used to perform  the message tracking operations from Exchange server 2007.  How can I develop the program?

    Please explain detailed and please help me, replay me..

    By

    Path finder..

     

    Thursday, January 13, 2011 6:20 AM
  • With Exchange 2007 you have to execute the cmdlets locally on the machine where the code is running from that means that machine needs to exist is a security context that will allow you run the Exchange Management Shell eg installed as per http://technet.microsoft.com/en-us/library/bb232090%28EXCHG.80%29.aspx. If there is no Trust between the domains your machine is in and Exchange Server and you can't logon onto the machine where the code is running with a user that has been deletegated Exchange Administration rights then your code wont work with 2007 because there is no ability to specify alternate credentials in the EMS. You need to have the code running from a machine where the secruity context is availible.

    Another option if this isn't possible for you is that the log files themselves are plain text so you can parse the directly eg using something like Logparser the problem is that these files can be very large so its not something unless your log files are small that you want to attempt over a network.

    Cheers
    Glen

    Thursday, January 13, 2011 6:42 AM
  • Sorry Glen.

        I cant undrestand for what you are saying.. because of I don't have that much of knowledge and I am new for this job..  please can you explain more..

    Please help me and replay me..

    By

    Path Finder...

    Thursday, January 13, 2011 11:30 AM
  • Which part dont you understand ?

    To put this simply if you cant log onto  the (win XP and Dotnet 2005) machine as a user that has Exchange administration rights and run the Exchange Management Shell locally on this PC then with 2007 you wont be able to execute the cmdlets from this machine via managed code. You need to run your code from a workstation or server where this is possible.

    Cheers
    Glen

     

    Friday, January 14, 2011 2:23 AM
  • Thanks Glen..

         Now I have Explained my current status Glen. I have created a message tracking sample using http://msdn.microsoft.com/en-us/library/bb332449(v=exchg.80).aspx your Reference URL. I have the Administrator rights only, both Exchange and my machines. I have download the power shell 2.0 sdk and installed my machine for the purpose of (add reference) the system.mangement.autonmation.. I have open the Exchange machine via my machines Remote Desktop Conection and I have copy&paste my message tracking exe from my machine to exchange server2007 and I got the result when I run the eXe file.. This is my current status.. Now I want to run the message tracking sample only my machine not exchange.

     Please Explain step by step..

     Next what can I do..

     Please replaay me help me....

    By Path Finder..

    Friday, January 14, 2011 7:24 AM
  • It sounds like you may have still not understood what I've tried to explain in a number of ways you need to firsly understand what you can do with remote powershell on Exchange 2010 cannot be used on Exchange 2007 because the Exchange 2007 cmdlets don't support remoting. This means to run the cmdlets on the  (win XP and Dotnet 2005) machine you need to install the Exchange Management Tool for Exchange 2007 on this machine as per http://www.msexchange.org/articles_tutorials/exchange-server-2007/management-administration/managing-exchange-server-2007-using-windows-xp-workstation.html . However this will only work if the (win XP and Dotnet 2005) is a member of the same domain as the Exchange server or a trusted domain (if you don't understand what i mean by a trusted domain ask your local network administrator to explain domain security to you).

    Cheers
    Glen

    Friday, January 14, 2011 10:26 AM
  • Thanks glen..

    Ist I say sorry glen for my mis understanding. Now I Got clear idea.. I know Remote powershell wont work on Exchange server 2007.  Now I am going to follow your last replay insruction..

    once more I say you  thank you very much glen..

    By

    Path Finder..

     

    Friday, January 14, 2011 2:35 PM
  • Mr Glen,

    Now I have some doubts. please replay me.

    Is there availble any new way of aproach for message tracking from exchange server 2007?. That means I want to perform the message tracking operations from Exchange server 2007 using a new aproach not Webservice & power shell commands?

     Is possible or Not?

    if possible please tell me..

    if Not possible, Can I conclude that two way only available to perform these operation. (for Exchange 2007)

    Please reply me.

    By

    Path Finder..

     

    Tuesday, January 18, 2011 5:15 AM
  • The supported and recommended method is to use to access Message Tracking information is to use the get-messagetrackinglog Exchange Management Shell cmldet this will allow you to write an application that will be able to reliably get Message tracking information. Message Tracking was improved greatly in Exchange 2010 with a number of new features added this along with all the other new features added in Exchange 2010 are good reason to consider an upgrade.

    The only other thing i mentioned previously is that the message tracking log file are plain text files that reside in the C:\Program Files\Microsoft\Exchange Server\TransportRoles\Logs\MessageTracking . It is possible to parse these file manually or use something like log parser http://www.microsoft.com/downloads/en/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en and http://www.msexchange.org/articles_tutorials/exchange-server-2007/monitoring-operations/creating-graphical-reports-exchange-2007-part2.html

    Cheers
    Glen

    Wednesday, January 19, 2011 2:31 AM
  • Thanks Mr.Glen.

    Mr. Glen Today I have found some same type of forums in this below links.

    http://social.technet.microsoft.com/Forums/en/exchangesvrgeneral/thread/4596035a-cede-4541-8b8e-e2e9bf1b40dc

    Is this above URl method work?

    By

    Path finder..

     

     

     

    Wednesday, January 19, 2011 12:20 PM
  • As far as i know NO while you maybe able to install WinRM and Powershell v2 on a Exchange 2007 server the actual cmdlets are only written and supported to work with local powershell where the Exchange 2007 Administration tools are installed. If your a developer write your own WCF or web-service that runs on the Exchange server that executes this cmldet and then returns to the data to your remote client which achieve the same thing.

    Cheers
    Glen

     

     

    Thursday, January 20, 2011 2:34 AM
  • Thanks Glen.

    Finaly I got the result. I have run my code using same domain and I have retrived all the datas. I have finished my task the main  reason you. thanks, thank you very much glen.

    Mr Glen, I have another one doubt. 

    In Exchange server 2003  I have developed the message tracking task using WMI via vb dotnet. I have used the WQL query for the message filtering purpose. for example 

    "Select * from Exchange_MessageTrackingEntry where Senderaddress='xxxxx@yyy.com' And Subject='xxxxxx'"

     I got all the entries from message log file Except the recipient filter option. But in same query wont work when I pass the Recipient address filter otions like 

    "Select * from Exchange_MessageTrackingEntry where RecipientAddress='xxxxx@yyy.com'"


    So first I have retrived  the given filter  details(Not consider the recipient filter option) ,after that I have again filtered the first time fitering result using "if" condition  when the  given recipient filter option. I know it is not a good way..

    How can I perform the Recipient address filter otions from message tracking using WMI(Exchange server 2003) ?
    That means I want the WQL Query..

    Please help me replay me..

    By
    Path Finder..

    Friday, January 21, 2011 2:48 PM
  • The RecipientAddress is an array of values and WQL doesnt support querying arrays see the note in http://msdn.microsoft.com/en-us/library/aa392902%28v=vs.85%29.aspx so filtering it at the client side after the query like your doing is the only way that will work.

    Cheers
    Glen

    Friday, January 21, 2011 10:48 PM

  • Very very thanks Glen.

    See you again.

     By
     
    Path Finder.

     

    Saturday, January 22, 2011 5:23 AM