私はサーバー側のC#アプリケーションで以上の他のユーザーのカレンダーに編集者権限があることを確認しようとしています。どのように他のユーザのカレンダーを編集することができますか?
私が書いているWebアプリケーションでは、ユーザーが別のユーザーに対して「カレンダー編集」アクセス許可を持っている場合、顧客はアプリケーション内で他のユーザーの構成を変更できるようにしたいと考えています。その結果、ユーザーがWebアプリケーションにログインするときに、そのユーザーを対象ユーザーに表示するユーザーを取得する必要があります。
私は「このメールボックスの予定表の編集者権限を持つユーザーの一覧」を取得できるEWSとPowerShellコマンドレットを調べましたが、「このユーザーが編集できる予定表の一覧」は処理できません。ファイルシステムの権利を判断するのと同様の問題だと私は思っています(つまり、アクセス可能なユーザにこの特定のファイルシステムフォルダを尋ねる呼び出しですが、のすべてをの列挙/ファイルシステム内のACLが「このユーザーがアクセスできるすべてのフォルダを私に渡す」と答えます)。
"すべてのメールボックスの既定の予定表のアクセス許可を取得"し、アプリケーション内のユーザーにマップすることができますが、アクセス許可が与えられてからアプリケーションがそのアクセス許可を知るまでに時間がかかることがあります。
私はこのためにEWSとPowerShellを見てきましたが、私はこれらのAPIに制限されていません。アプリケーションはWindows Server 2012以降で動作し、この情報を取得するために必要な権限を割り当てられます(はユーザーとして実行されているのではなく、サービスアカウントです)。しかし、私は API /メソッドにオープンしています。このAPI /メソッドは、大きなメールボックスACL列挙操作よりも速いという条件でこの情報を得ることができます。
PowerShellコマンドまたはEWSメソッドを使用すると、ユーザーがアクセスできるExchange環境内のすべてのメールボックスにあるすべてのフォルダを取得できますか?
編集:答えは私が疑った通りです:いいえ、ありません。唯一のオプションは、メールボックスのアクセス許可を列挙することです。