Would someone be able to post some of their code so others an use as a reference. I am trying to learn c# for this exact reason and some samples would be great. The
On Thu, Jun 24, 2010 at 4:40 PM, Michael B. Smith <mich...@smithcons.com>wrote: > Just kind-of reinforcing what Rob said, with a bit more detail. > > > > Exchange System Objects (XSO) are the internal Exchange interfaces > represented via Microsoft.Exchange.*. Except for a handful of documentation > on data formats, XSO is undocumented. Given how reflection works in the CLR, > obviously quite a bit is discoverable. Using that undocumented information > isn’t a good idea. The interfaces change DRAMATICALLY from release to > release and may change from service pack to service pack. Since they are > undocumented, Microsoft doesn’t have to keep them compatible. > > > > There are three supported ways to interface to Exchange 2010: MAPI > (challenging, not legally accessible from managed code, but very powerful), > Exchange Web Services (EWS, very much about user mailboxes and address > books, not about system management), and PowerShell (all about management). > > > > There are some exceptions, but basic MAPI is very consistent, ever since > Exchange 5.5. EWS is somewhat new (Exchange 2007 sp1), but I think that all > code written since then is compatible with the current implementation, and > Exchange 2010 adds some new features. PowerShell had breaking changes going > from 2007 -> 2010, but I don’t think anything broke between 2007 <-> 2007 > sp1 <-> 2007 sp2. There may be a breaking change in 2010 going to sp1 in one > of the DAG cmdlets, but if so, it was necessary. > > > > Writing a PowerShell host is fairly simple. It only requires a few dozen > lines of C#. You can, of course, also call complex Windows Forms and Windows > Presentation Format windowing objects from within PowerShell, since it is a > fairly well-behaved .NET environment (I’ve taught workshops in doing this > and this is, I believe, what Rob did himself). From within the PowerShell > host, you load the Exchange profile (just like the Exchange Management > Shell) and off you go… This is exactly what the Exchange Management Console > does. > > > > You can even have the PowerShell host as a web page (although that requires > the application pool to have an Exchange administrator as an Identity – not > something to be done lightly). This is what Remote PowerShell does (in > combination with Windows Remote Management). > > > > Regards, > > > > Michael B. Smith > > Consultant and Exchange MVP > > http://TheEssentialExchange.com <http://theessentialexchange.com/> > > > > *From:* Paul Steele [mailto:paul.ste...@acadiau.ca] > *Sent:* Thursday, June 24, 2010 3:01 PM > > *To:* MS-Exchange Admin Issues > *Subject:* .Net Programming for Exchange 2010 > > > > I like to write simple C#-based GUI utilities for my staff to simplify some > of the repetitive tasks such as creating accounts. Now that we’ve upgraded > to Exchange 2010 I have a few utilities that need updating. I’ve been doing > some Google searches for sample programs and the examples refer to a class > library Microsoft.Exchange. Unfortunately I haven’t been able to find where > this class is located in order to add it to my Visual Studio Project. There > are a lot of built-in Microsoft.* components in the reference library, but > not Microsoft.Exchange. I’ve looked on the Exchange installation media and > also checked on MSDN but don’t see anything there. Does anyone know where I > can find the components needed for .Net programming for Exchange 2010? > > > Thanks! > > >