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

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です