{"id":575,"date":"2006-01-19T15:49:23","date_gmt":"2006-01-19T20:49:23","guid":{"rendered":"http:\/\/www.ashleyit.com\/blogs\/brentashley\/?p=575"},"modified":"2006-01-19T15:49:27","modified_gmt":"2006-01-19T20:49:27","slug":"making-it-harder-than-necessary","status":"publish","type":"post","link":"https:\/\/ashleyit.com\/blogs\/brentashley\/2006\/01\/19\/making-it-harder-than-necessary\/","title":{"rendered":"Making it harder than necessary"},"content":{"rendered":"<p>On an Exchange server where I have an account, there is a public folder that receives alert messages.  I want to collect all the messages in this folder, filter by subject, order by date, and extract text values out of the body of each message.  I&#8217;d like the output to be delimited text so I can use other tools to perform further analysis, such as loading it into Excel and building a pivot table, or sorting and slicing with any number of tools.  I&#8217;d like to be able to repeat this automatically.<\/p>\n<p>I started by looking for script examples.  <\/p>\n<p>The first ones I found used VBScript under WSH to instantiate the CDO MAPI.Session object, create a Public Folders collection and iterate from there.  There are a few different reasons I don&#8217;t want to use this approach:<\/p>\n<ul>\n<li>The machine it runs on needs to have the proper CDO objects on it (pretty well has to be an Exchange server according to the product grid in technote Q171440).  I want to run this from any computer that can connect to the server.<\/li>\n<li>There needs to be a login on that machine with a configured Outlook profile.\n<\/li>\n<li>I have an inexplicable aversion to using WSH\/VBScript for scripts that may ever run unattended.<\/li>\n<\/ul>\n<p>The next solution I found used ADODB to query Exchange via the Exoledb datasource.<\/p>\n<ul>\n<li>again, this object seems only to be on an Exchange server.  You have to run it from the same server.<\/li>\n<\/ul>\n<p>I thought I&#8217;d try loading up Outlook on my PC to have a look.  It&#8217;s installed but I never use it (I use Outlook Express against my main POP3 and OWA against this server).  I start up Outlook and go to Tools..Accounts, and select Exchange Server from the wizard.  <\/p>\n<ul>\n<li> It tells me I have to close Outlook and use the Control Panel&#8217;s Mail app to add an exchange account to my profile.\n<\/li>\n<\/ul>\n<p>After setting it up, I get into Outlook and navigate to the folder.  I choose File..Export and try to export to Excel, to Text, to ANYTHING.<\/p>\n<ul>\n<li> Sorry, that feature not installed.  I haven&#8217;t got my Office install media with me, so no go.\n<\/li>\n<\/ul>\n<p>I have a colleague try from his Outlook and it&#8217;s useless because no matter how hard we tried:<\/p>\n<ul>\n<li> the export process could not include the received datetime field.  Not even in the list of mappable fields.\n<\/li>\n<\/ul>\n<p>Next, I decided to connect to the server with NNTP or IMAP or POP3.  <\/p>\n<ul>\n<li> These services are all turned off.<\/li>\n<\/ul>\n<p>Next, I tried to connect to the server&#8217;s M: drive which should be an ExIFS filesystem view of the Exchange store.<\/p>\n<ul>\n<li>It&#8217;s not shared out or I don&#8217;t have access to that share.<\/li>\n<\/ul>\n<p>I tried to RDP into the server.<\/p>\n<ul>\n<li> I don&#8217;t have login permissions on the server.<\/li>\n<\/ul>\n<p>Ok, so ask me what I think of closed systems and protocols.  Against any IMAP or NNTP server, I would have been done in 5 minutes with no dependencies.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>On an Exchange server where I have an account, there is a public folder that receives alert messages. I want to collect all the messages in this folder, filter by subject, order by date, and extract text values out of the body of each message. I&#8217;d like the output to be delimited text so I [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-575","post","type-post","status-publish","format-standard","hentry","category-blather"],"_links":{"self":[{"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/posts\/575","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/comments?post=575"}],"version-history":[{"count":0,"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/posts\/575\/revisions"}],"wp:attachment":[{"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/media?parent=575"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/categories?post=575"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/tags?post=575"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}