カレンダーと連絡先を別のシステムに同期するためのアプリケーションを開発しようとしています。アプリケーションは C# で記述されていますが、各ユーザーの資格情報を知らずに、すべてのユーザーのカレンダーと連絡先を取得する方法がわかりません。アプリケーションは情報をポーリングするべきではありませんが、イベントのようにアプリケーションに送信する必要があります。
私はすでに MS サイトを検索し、「Exchange 2013 101 Code Samples」をダウンロードして、別のユーザーに電子メールを送信するスクリプトを正常に作成しましたが、認証はユーザー資格情報でのみ機能しました。
特定のユーザー リストのすべてのカレンダーと連絡先を読み取ることができる「マスター」ユーザーを作成することはできますか? ExchangeServer はアプリケーションを呼び出して情報を送信できますか (SOAP などを使用)、またはポーリングする必要がありますか?
アップデート:
すべてに対して完全な権限を持つユーザーを作成しましたが、「マスター」ユーザーのカレンダーが空であるため、サーバーからデータを読み取る方法がわかりません。OWA にアクセスして、誰かの予定表を偽装して見ると、予定が表示されます。
アクセス許可のコード:
Get-Mailboxdatabase | Add-ADPermission -AccessRights ExtendedRight -ExtendedRights Receive-As, Send-As -User "<SuperAccount>"
そして、これはカレンダーを共有しています:
Add-MailboxFolderPermission –Identity <MailboxFolderId>:\Calendar -AccessRight ReadItems -User <SuperAccount>
マスターユーザーでユーザーのカレンダーを取得するにはどうすればよいですか?