【IDM】AD FS 2.0 をアンインストールするには

今後 FAQ になりそうなので、Blog にも書いておきたいと思います。

ご存知の通り、AD FS 2.0 は以下のサイトからダウンロードしてインストールする必要があります。

Active Directory Federation Services 2.0 RTW - 日本語

AD FS 2.0 をセットアップすると、以下のコンポーネントがインストールされます。

  • AD FS 2.0 本体 および PowerShell コマンドレット(KB974408)
  • Windows Identity Foundation ランタイム(KB974405)
  • Windows Internal Database
    (MICROSOFT##SSEE インスタンスの AdfsArtifactStore と AdfsConfiguration)
  • IIS 上の 仮想ディレクトリ(/adfs, /adfs/ls)およびアプリケーションプール(ADFSAppPool)
  • 証明書の共有コンテナ

AD FS 2.0 を再インストールしようとして一旦アンインストールしたつもりが、「既にインストールされている」的なメッセージで再インストールや再構成が失敗したり警告を発することがあります。原因は上記に示した AD FS 2.0 関連の アプリケーションが既にインストールされているためです。

それぞれのコンポーネントは個別にインストールされるため、アンインストールする場合にも個別に実施する必要があります。以下に手順を示します。

【証明書の共有コンテナ の削除】

※この手順は AD FS 2.0 本体を削除する前に実行してください

AD FS 2.0 の構成ウィザードで「サーバーファーム」を選択した場合、Active Directory 上に証明書の共有コンテナが作成されます。このコンテナは、AD FS サーバーファーム内の全てのAD FS サーバーで共有されるため、複数のサーバーに同じ証明書を何度もインストールする必要が無くなります。

共有コンテナを削除するには以下の手順を実施します。

PowerShell コンソールを起動。

以下のコマンドレットで AD FS 関連のコマンドレットを読み込む。

PS C:\>Add-PsSnapin Microsoft.Adfs.Powershell

以下のコマンドレットで 証明書共有コンテナの場所を確認する

PS C:\> Get-ADFSProperties |Select-Object CertificateSharingContainer

上記の結果、以下のように表示されるのでパスを控えておく。

CertificateSharingContainer
---------------------------
CN=0586a130-89fa-40e8-8896-18ece4d171e7,CN=ADFS,CN=Microsoft,CN=Program Data,DC=T3304,DC=com

ADSI Edit を起動し、「既定の名前付きコンテキスト」に接続する。

CertificateSharingContainer の値と一致するコンテナを削除する。

【AD FS 2.0 の削除】

[コントロールパネル] - [プログラム] – [インストールされた更新プログラムの表示] から 「Active Directory Federation Service 2.0(KB974408)」をアンインストールする

【Windows Identity Foundation ランタイム の削除】

※ランタイムなので無理に削除する必要は無いと思いますが…

[コントロールパネル] - [プログラム] – [インストールされた更新プログラムの表示] から 「Windows Identity Foundation(KB974405)」をアンインストール

【Windows Internal Database の削除】

Windows Internal Database(WID)自身は Windows Server の「機能」としてインストールされているので、これ自体を削除することも可能なのですが、他のプログラムが WID を使用している可能性があります。よって、ここでは AD FS 2.0 に関連しているデータベース AdfsArtifactStore と AdfsConfiguration のみを削除しましょう。

WID には GUI が提供されていないので、以下から SQL Server 2008 R2 Express Edition の Management Studio をダウンロードしてインストールしてください。

Microsoft SQL Server 2008 R2 RTM - Management Studio Express

Management Studio を起動し、以下に接続してください。

\\.\pipe\mssql$microsoft##ssee\sql\query
image

データベースの一覧から AdfsArtifactStore と AdfsConfiguration を削除します。

image

【IIS 上の 仮想ディレクトリ(/adfs, /adfs/ls)およびアプリケーションプール(ADFSAppPool) の削除】

[サーバーマネージャー] - [Web サーバー(IIS)] - [インターネットインフォメーションサービス マネージャー] を開く。

[Default Web Site] を選択し、右側のペインから「アプリケーショの表示」を選択。

「/adfs」と「/adfs/ls」という2つのアプリケーションが表示されるので、これらを削除。

image

次に、[アプリケーション プール] を選択して、「ADFSAppPool」を削除する。

image

エクスプローラーを使用して、C:\Inetpub フォルダから「adfs」フォルダを削除。

以上で環境がキレイになったはずです。

再度 AD FS 2.0 をインストール&構成 してみてください。

※参考サイト
How to restore IIS and clean up Active Directory when you uninstall Active Directory Federation Services 2.0