<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Using C# to get to MultiValuedProperty</title><link>http://blogs.technet.com/evand/archive/2008/04/01/using-c-to-get-to-multivaluedproperty.aspx</link><description>Today's post is to address a question we dealt with fairly recently through a customer escalation. The customer was trying to figure out the best way to programmatically get access to the entries in a MultiValuedProperty collection returned as part of</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Weekend reading</title><link>http://blogs.technet.com/evand/archive/2008/04/01/using-c-to-get-to-multivaluedproperty.aspx#3029002</link><pubDate>Fri, 04 Apr 2008 22:30:50 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3029002</guid><dc:creator>subject: exchange</dc:creator><description>&lt;p&gt;An easy way to remove (some) entries from the autocompletion list in OWA 2007 Exchange Server Public&lt;/p&gt;
</description></item><item><title>re: Using C# to get to MultiValuedProperty</title><link>http://blogs.technet.com/evand/archive/2008/04/01/using-c-to-get-to-multivaluedproperty.aspx#3054355</link><pubDate>Tue, 13 May 2008 07:43:33 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3054355</guid><dc:creator>wilfred</dc:creator><description>&lt;p&gt;I was the customer whom logged the case with Microsoft to get this resolved. There are a number of things incorrect in your blog entry.&lt;/p&gt;
&lt;p&gt;- I did not drive down into the mailbox. The method I used to get access to the mailbox was exactly as described above, I even provided that as example code. &lt;/p&gt;
&lt;p&gt;- The iteration over the collection of PSObject's was already there, just as the ToString calls on the property value.&lt;/p&gt;
&lt;p&gt;- The issue was that there was no *documented* way to get access to the strong typed objects. A ToString on the strong typed object returns the object type which does not help.&lt;/p&gt;
&lt;p&gt;- I provided a solution to get access to the objects using reflection. I was the one that was not happy with that solution due to performance constraints and the possible version dependency of that solution.&lt;/p&gt;
&lt;p&gt;- On one of the mailing lists the suggestion was made to link against the exchange dll directly which I tried that and never considered it a solution for the problem due to the fact that it depends on the version.&lt;/p&gt;
&lt;p&gt;After pushing for a supported and documented way to get access to the values the information about the ICollection was provided. This by itself is still not a solution because it is not documented anywhere and could change with a new version.&lt;/p&gt;
&lt;p&gt;A new KB document has been created, but not published yet, which does provide the same information as you have given above. With the comments from the development team that the ICollection is here to stay we now have a supported solution.&lt;/p&gt;</description></item><item><title>re: Using C# to get to MultiValuedProperty</title><link>http://blogs.technet.com/evand/archive/2008/04/01/using-c-to-get-to-multivaluedproperty.aspx#3054535</link><pubDate>Tue, 13 May 2008 15:54:07 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3054535</guid><dc:creator>evand</dc:creator><description>&lt;p&gt;Hi Wilfred - I don't have any of the real context of the support incident, so I was not aware of who the customer was or any of the machinations you went through to reach your solution. The back and forth between the product group and the support folks consisted primarily of discussing the best generic solution and documenting it. The goal of posting this here was more about providing details on the recommended solution to the public in a generic sense than about relating how we solved your specific issue. That's just the style I use on this blog...&lt;/p&gt;
&lt;p&gt;Glad you have reached a supported solution at this stage!&lt;/p&gt;
&lt;p&gt;Evan&lt;/p&gt;
</description></item><item><title>re: Using C# to get to MultiValuedProperty</title><link>http://blogs.technet.com/evand/archive/2008/04/01/using-c-to-get-to-multivaluedproperty.aspx#3059922</link><pubDate>Fri, 23 May 2008 17:26:03 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3059922</guid><dc:creator>Reinhard</dc:creator><description>&lt;p&gt;Hi.&lt;/p&gt;
&lt;p&gt;great tutorial thank you. Is there a possibility to get the mail contacts for a specific user which &amp;nbsp;are stored in the Mailbox Database.edb file ? I have to write an extension for exchange 2007 and have to check if the mail sender is already included in the &amp;quot;global&amp;quot; mail contacts (get-mailcontact) and in the user specific mail contacts generated in owa or outlook 2007 ? &amp;nbsp;Is it possible to get these values with powershell ? How can I access / set these values ? &amp;nbsp;Thank in advance for your &amp;nbsp;response..&lt;/p&gt;
&lt;p&gt;Reinhard Wagner [reinhard at gmx.at]&lt;/p&gt;</description></item><item><title>re: Using C# to get to MultiValuedProperty</title><link>http://blogs.technet.com/evand/archive/2008/04/01/using-c-to-get-to-multivaluedproperty.aspx#3059988</link><pubDate>Fri, 23 May 2008 18:51:12 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3059988</guid><dc:creator>evand</dc:creator><description>&lt;p&gt;Reinhard - Nope, there are not cmdlets in Exchange which can give you access to the contacts stored within the mailbox (generally thought of as the Outlook contacts). The Exchange cmdlets only give access to the AD-stored objects.&lt;/p&gt;
&lt;p&gt;It's not inconceivable that there might be some way to script Outlook through COM or some other interface to get access to these items, or you could also probably access them through EWS (&lt;a rel="nofollow" target="_new" href="http://msdn.microsoft.com/en-us/library/exchangewebservices"&gt;http://msdn.microsoft.com/en-us/library/exchangewebservices&lt;/a&gt;(EXCHG.80).aspx) -- of course both of these will be more difficult than having cmdlets at the ready.&lt;/p&gt;
</description></item><item><title>re: Using C# to get to MultiValuedProperty</title><link>http://blogs.technet.com/evand/archive/2008/04/01/using-c-to-get-to-multivaluedproperty.aspx#3060026</link><pubDate>Fri, 23 May 2008 19:42:51 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3060026</guid><dc:creator>Reinhard</dc:creator><description>&lt;p&gt;Thx for your fast response !!! I don't like to do the task via webservices, because it's somehow a waste of resources (runs on same server), i'am going to have a look into COM...&lt;/p&gt;
&lt;p&gt;by the way great blog &lt;/p&gt;
&lt;p&gt;Reinhard&lt;/p&gt;</description></item></channel></rss>