Several weeks ago I did an in-place upgrade of my current employers Internal Network this involved upgrading all DC’s to W2k3 and Exchange from 2000 to 2003. Most things went okay with a few odd problems mainly revolving around some Internal Apps that we have written and some other problems with MSDE (JET) and FBA on Exchange. Another one of these little problems popped up today we have an Internal Access ADP application that accessed Active directory though a a SQL view that does an OpenQuery using a Linked server in SQL. In Windows 2000 this code used to work fine from any workstation but after the upgrade to 2003 these queries would fail with ICommandPrepare::Prepare returned 0x80040e14 error. After some investigations I found the problem was being caused because of the Linked Server security settings. I had set the Linked server to use the current users credentials which when your using a Access linked table somewhere on the line gets dropped out and I believe it ends up making a anonymous query. This lead me to further investigate why this worked on 2000 and stopped working on 2003. I found that in Windows 2000 the everyone group had read access to LDAP, in Windows 2003 anonymous operations on Active Directory are now disabled see Q326690 .Well the way I ended up fixing my problem was to assign an account that my linked server queries could run under and everything was okay.
For the last couple of years the most constantly popular post by number of views on this blog has been Export calendar Items to a CSV file using EWS and Powershell closely followed by the contact exports scripts. It goes to show this is just a perennial issue that exists around Mail servers, I think the first VBS script I wrote to do this type of thing was late 90's against Exchange 5.5 using cdo 1.2. Now it's 2020 and if your running Office365 you should really be using the Microsoft Graph API to do this. So what I've done is create a PowerShell Module (and I made it a one file script for those that are more comfortable with that format) that's a port of the EWS script above that is so popular. This script uses the ADAL library for Modern Authentication (which if you grab the library from the PowerShell gallery will come down with the module). Most EWS properties map one to one with the Graph and the Graph actually provides better information on recurrences then...