2017-09-14 1 views
1

を経由せずにOutlookの部屋を取得することができます。は、どのように私は、PowerShellで、次のしている全アドレス一覧

if(Regex.IsMatch(addEntry.Name, "^Conf Room")) 

私が両方とも持っている問題は、それが部屋を見つけるためにアドレス帳全体を反復することです。私はちょうど部屋リストを得ることができるいくつかの方法はありますか? Outlookを介して直接行くときは、新しいアイテムをクリックし、会議を選択し、スケジュールアシスタントを選択してから「ルームを追加」を選択すると、アドレスリストのルームのみが表示されるため、アドレスエントリを部屋には(プロパティとしての容量も含まれているため)。このポップアップは直ちに、私が書いているプログラムでも同じことを達成したいと思います。

答えて

0

部屋の場合、PR_DISPLAY_TYPE_EX MAPIプロパティはDT_ROOMです(OutlookSpyのプロパティを見ることができます - 「IAddrBook」ボタンをクリックして部屋にドリルダウンしてください)。

また、GALは「すべてのルーム」コンテナを公開しています(Namespace.AddressListsコレクションからアクセスできるはずです)。複数のExchangeアカウントがあり、コンテナ名がローカライズされている場合、複数の「すべての会議室」コンテナが存在する可能性があることに注意してください。すべてのアドレス帳リストをループしている場合、「すべてのルーム」リストのPR_CONTAINER_FLAGS MAPIプロパティに0x00000200ビットが含まれます。

Redemptionをオプションとして使用すると、RDOExchangeAccountが公開されます。 AllRoomsおよびRDOAddressBookAllRoomsプロパティ(戻り値RDOAddressListオブジェクト)。

+0

正直言って... MAPIを使用したことがないので、私はギリシャ語です。 – user3377627

+0

MAPIプロパティにアクセスする必要がある場合は、 'AddressList.PropertyAccessor.GetProperty'を使用してMAPIプロパティにアクセスできます。 'PR_DISPLAY_TYPE_EX' DASLプロパティ名は' http:// schemas.microsoft.com/mapi/proptag/0x39050003'です。 'PR_CONTAINER_FLAGS'は' http:// schemas.microsoft.com/mapi/proptag/0x36000003'です。 OutlookSpy(DASL編集ボックス)でDASLのプロパティ名を見ることができます。 –

関連する問題