Microsoftでもようやく KB:2530713 で紹介されておりますが、現時点でOffice365のフェデレーション環境を利用するには、以下の通りゾーンの設定を各クライアントのブラウザに設定する必要があります。これをしない場合、ID/Passwordの入力を求めるポップアップが出たり、他のブラウザを開いているとOffice365からサインアウトできないなどの事象が発生することがあります。
イントラネットサイト
- https://[ADFSサーバのサービス名]
信頼済みサイト
- *.microsoftonline.com
- *.sharepoint.com
- *.outlook.com
- *.lync.com
※コミュニティを利用する場合は、*.office365.comも必要です。
シングルサインオンを実現するため、ログイン中のユーザアカウント情報を利用してADFSのIISサイトにアクセスを試みたり、異なるドメイン間でセッション情報のやりとりを行おうとしている為に必要な項目ですが、何十、何百という端末上の全てのユーザーにこれを強要するのも骨が折れます。
また、GPOでこの項目を設定することも出来ますが、GPOでこの項目を設定すると、ゾーンの設定がグレーアウトしてしまい、各クライアント側で自由に他のサイトを追加したりなどが出来なくなってしまいます。
という訳で、スクリプトでささっと直してしまいましょう。
ie_zone.vbs
Option Explicit Dim WSHShell Set WSHShell = CreateObject("WScript.Shell") WSHShell.RegWrite "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet SettingsZoneMapDomainsexample.comstshttps", 1, "REG_DWORD" WSHShell.RegWrite "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet SettingsZoneMapDomainsmicrosoftonline.com*", 2, "REG_DWORD" WSHShell.RegWrite "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet SettingsZoneMapDomainssharepoint.com*", 2, "REG_DWORD" WSHShell.RegWrite "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet SettingsZoneMapDomainsoutlook.com*", 2, "REG_DWORD" WSHShell.RegWrite "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet SettingsZoneMapDomainslync.com*", 2, "REG_DWORD"
4行目の所を自分のAD FSの構成に直して実行すればOKです。
あと、折角クライアントに実行させるなら、適当に必要に応じて。(あまり再現性は無いのですが、AD FS環境だとたまにログイン情報が中途半端に残ってしまっていて、ポータルにアクセスして手動ログオフしようとしてもどこかにリダイレクトされて接続できなくなることが有って、今まで検証中に2-3回だけ利用したサインアウトも念のため追加してます。)
Option Explicit Dim WSHShell Dim fs,objURL Set fs = CreateObject("Scripting.FileSystemObject") Set WSHShell = CreateObject("WScript.Shell") Set objURL = WSHShell.CreateShortcut(fs.BuildPath(WshShell.SpecialFolders("Favorites"),"Office365ポータル" & ".url")) objUrl.TargetPath = "https://portal.microsoftonline.com/" objUrl.Save Set objURL = WSHShell.CreateShortcut(fs.BuildPath(WshShell.SpecialFolders("Favorites"),"Office365強制サインアウト" & ".url")) objUrl.TargetPath = "http://login.microsoftonline.com/logout.srf" objUrl.Save