Exchange OnlineをPowerShellで操作する(共有メールボックス)

Office 365のExchange Onlineは、Exchange 2010同様PowerShellで各種操作が可能です。Exchange管理コンソール(EMC)が提供されていない分、細かい操作をしようとするとPowerShellでの操作が必須となります。

Exchange Onlineサービスの詳細などにも、「リモートPowerShellを利用して、~が可能です」という記載を多く見かけます。コマンド例などが記載していない物も多いので、いくつか紹介したいと思います。

  1. 複数人から利用できるメールボックス(共有メールボックス)を作成する
  2. Fromで通常利用するメールアドレスを変更する
  3. 他のFromアドレスでメールを送る(=送信者アクセス権(SendAs)をユーザに与える)

まず、共有メールボックスはNew-Mailboxコマンドに-Sharedオプションを付けて作成します。共有メールボックスはサブスクリプションは必要ないのですが、(ログオン不可の)ユーザオブジェクトは作成されますので、AD FS環境で作成する場合は、フェデレーションドメイン以外(xxx.onmicrosoft.comドメインなど)で作成する必要があります。

New-Mailbox -Name "共有メールボックス1" -Shared -Alias share1

次に、share1@xxx.onmicrosoft.comのアカウントのFromで利用するアドレスとして、独自ドメインのshare1@example.comを利用するように設定します。Set-Mailboxコマンドの-EmailAddressesオプションに受信するアドレス一覧を指定します(メインで利用する物のみSMTP:で、他はsmtp:で記載します)。

$NewEmailAddresses = @()
$NewEmailAddresses += ("SMTP:share1@example.com")
$Temp = Get-Mailbox -Identity "共有メールボックス1"
$NewEmailAddresses += ($Temp.EmailAddresses -replace "^SMTP" , "smtp")
Set-Mailbox -Identity "共有メールボックス1" -EmailAddresses $NewEmailAddresses

次に、この共有メールボックスへのアクセス権を設定します。その共有メールボックスを開くために必要なFullAccess権はAdd-MailboxPermission権で、その共有メールボックスのアドレスでメールを送信できる権限をAdd-RecipientPermission(※Office365の場合はAdd-ADPermission -Extendedrightsでは有りません)コマンドで付与します。

New-DistributionGroup -Name "共有メールボックス1グループ" -Alias share1g -CopyOwnerToMember -ManagedBy "testuserone" -Type Security
Set-DistributionGroup share1g -HiddenFromAddressListsEnabled $true
Add-MailboxPermission -Identity "共有メールボックス1" -User share1g -AccessRights FullAccess
Add-RecipientPermission -Identity "共有メールボックス1" -Trustee share1g -AccessRights SendAs -Confirm:$False

これで準備は完了です…が、結構このコマンドを実行した後、クラウド内のActive Directoryに権限情報が行き渡るのに時間が掛かります。(手元の環境だと1時間掛かりました。)

作成した共有メールボックスの開き方ですが、Outlookの場合はアカウント設定の[電子メール][変更][詳細設定]から詳細設定タブの[メールボックス][追加]から作成した共有メールボックスを指定すると、自分のアカウントの下に追加されます。共有メールボックス宛に来たメールに返信すると、自動的にFromアドレスも共有メールボックスになります。

つぎに、OWAの場合ですが、まずアカウントごと開く場合は右上の自分のアカウント名のプルダウンメニューから[他のメールボックスを開く]で共有メールボックスを指定する方法があります。

この場合、その共有メールボックスのアカウントとしてそのまま操作できます。メールを作成する場合は自動的に共有メールボックスがFromアドレスとして設定されます。

また、メールボックスのカウント名を右クリックし、[他のユーザーの受信トレイを開く]から共有メールボックスを指定すると、自分のメールボックスと並べて共有メールボックスを開くことができます。ただし、Fromアドレスを共有メールボックスのアドレスでメールを作成する場合、Fromアドレスを毎回手動で指定してから送信する必要があります。

開く必要のあるフォルダの数や、用途(参照のみか実際に操作もするか)などに合わせて使い分けると良いと思います。

AD FS環境でログオンユーザ以外でログオン(非SSO)を行う

AD FS環境だと、ポータルではログインIDを入れるのみでパスワードは入力せず、そのままイントラネットのAD FSサーバにリダイレクトされ、そこで認証されてOffice365へのアクセスが行われます。

これはこれで便利な機能なのですが、運用上、他のアカウントでOffice365へのアクセスを実施する必要が出てくる場合が有ります。例えば、外部受付用の共有アカウントでの作業や、退職者のバックアップ作業などの場合です。

testuseroneというアカウントでWindowsにログインしていて、shared-userというアカウントでOffice365に接続しようとするシチュエーションを考えます。まず、ポータルで、普通にログインをしようとしてみます。

あれ…testuseroneのアカウントのままログオンされてしまいました。

どうやら、AD FS側ではOffice365ポータルで入力したユーザアカウントの値は特に検証せず、Active Directoryにログオン出来るかどうかのみを判断してOffice365側にチケットを発行しているようです。

普通に解決しようとするなら、AD FSのクレーム発行ルールを変更して…ということになるのだとは思うのですが、まだ勉強不足なので、今回は他のやり方を考えてみます。

  • まず、FirefoxでのOffice365へのシングルサインオン で紹介したとおり、Firefoxはデフォルトではログイン情報をWebサイトに飛ばしませんので、共用アカウントでのログオンにはFirefoxを利用してID/PASS入力で入る。
  • または、IEもゾーンが「イントラネットサイト」に無い限りログイン情報を飛ばさないので、これを起動前に明示的に他「例:信頼済みサイト」に変更してあげて、終了後必要に応じて戻す
Option Explicit
Dim WSHShell
Set WSHShell = CreateObject("WScript.Shell")
WSHShell.RegWrite "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet SettingsZoneMapDomainsexample.comstshttps", 2, "REG_DWORD"

これで、一応ID/PASSの入力画面がポップアップしてきて、指定のアカウントでログインができるようになります。

う~ん、でもあまり美しくない。上手いやり方は無いものだろうか…

Chrome on Win7のSSOをAD FS側の設定で実現する

FirefoxでのOffice365へのシングルサインオンの記事では、各クライアントサイドのセキュリティ設定の緩和によって、シングルサインオンの機能を実現しました。ただ、この手法は全クライアントにレジストリの変更を強いることになるので、あまりスマートな実装ではございません。

今回、サーバサイドの設定変更でシングルサインオンが出来ないか試してみたいと思います。

Continue reading

FirefoxでのOffice365へのシングルサインオン

 Office365の リリースノート にも記載がありますが、Windows7もしくは「認証に対する保護の強化」をインストールしたXP,Vistaにおいて、FirefoxやChromeでAD FS環境でのシングルサインオンを実施しようとするには少し設定変更が必要になります。(7/2追記修正)

試しにアクセスをしようとしてみると、

Continue reading

Office365 beta版との相違1

Office 365が商用リリースされましたね。6/29現在、日本語版の提供はまだですが、英語版の方はサービス詳細が提示されました。

Office 365 for Enterprise Service Descriptions

とりあえず軽く流し見した中で、サービス仕様の変更が有ったところを簡単に表記しますと、

Continue reading

MEDIAS WP N-06Cをリモートワイプする

今日発売のAndroid2.3搭載の防水スマートフォン、N-06Cを入手したので、早速Office365で利用出来るように設定して、リモートワイプしてみました(w

まずは、メールアドレスとパスワードを入れます。アカウントタイプは「Exchange」を選択します。
 

Continue reading

ADFS環境下のOffice365のDRについて

3/11の震災をきっかけにして、DR対策の一環としてOffice365を検討されている方も多いかと思います。確かにOffice365自体はアジア圏の2地域(シンガポールと香港)にサーバが有り、地域的には十分な冗長性が確保されているのではと思います。

ただ、アクセス制御などの目的でAD FSを入れる構成とした場合、Office365へのインターネットアクセスの他に、いくつか接続性を確保する必要が出てくるポイントがあります。

Continue reading

AD FS(AD FS Proxy)で利用するSSL証明書

AD FS Proxyの役割 でも書きましたが、現時点でOffice365を利用する場合、以下の条件の場合は第三者機関の発行するSSL証明書が必要になります。

  • 外部(インターネット)からOffice365を利用したい場合
  • MAPI/IMAP/POP3/ActiveSyncのメールクライアント(要はOWA以外)を利用したい場合

Continue reading

IDフェデレーション時のブラウザの設定

Microsoftでもようやく KB:2530713 で紹介されておりますが、現時点でOffice365のフェデレーション環境を利用するには、以下の通りゾーンの設定を各クライアントのブラウザに設定する必要があります。これをしない場合、ID/Passwordの入力を求めるポップアップが出たり、他のブラウザを開いているとOffice365からサインアウトできないなどの事象が発生することがあります。

Continue reading

Office365導入準備の為のUPN一括変更

Office365 Deployment Readiness Toolの紹介でも書きましたが、Office365でIDフェデレーション環境を構築する場合、UPN名がインターネットから解決できる自社の保有するドメインである必要があります。

このため、example.localなどのUPN名でActive Directoryを構築済みである場合、ローカルのUPN名を変更する必要があります。また、NTドメインからアップグレードして、そのままのユーザ(UPN名が設定されていないユーザ)なども、ドメイン名ユーザ名の形式のNTログイン名の他、UPN名を設定する必要があります。

Continue reading