Exchange 2010 でフィルター パック IFilter を登録する

 

適用先: Exchange Server 2010 SP2, Exchange Server 2010 SP3

トピックの最終更新日: 2016-11-28

Exchange Search では、テキスト コンテンツを異なるファイル形式でインデックス化するために、IFilter が使用されます。Microsoft Office 2010 フィルター パックには、Microsoft Office 2010 および Office 2007 ファイル形式用のフィルターが含まれています。フィルター パックのインストールは、Exchange 2010 メールボックスおよびハブ トランスポート サーバーの前提条件です。詳細については、「Exchange 2010 の前提条件」を参照してください。フィルター パックでは、次のファイル名拡張子がサポートされています。.docm, .docx, .one, .pptm, .pptx, .vdx, .vsd, .vss, .vst, .vsx, .vtx, .xlsb, .xlsm, .xlsx, .zip。フィルター パックの詳細およびダウンロードについては、「Microsoft Office 2010 フィルター パック」を参照してください。

フィルター パックをインストールすると、そこに含まれる IFilter は Windows Search と一緒に登録されます。Exchange 2010 により Office 2010 ファイル形式をインデックス化できるようにするには、Exchange Search にも IFilter を登録する必要があります。これは、レジストリを変更して行います。

Exchange 2010 SP1 では、Exchange セットアップにより Office 2010 フィルター パックの IFilter が Exchange Search に登録されます。

Exchange 2010 の RTM (release to manufacturing) 版では、レジストリを変更して、Exchange 2010 に IFilter を登録する必要があります。この手順は、Exchange 2010 RTM をサーバーにインストールした後で実行してください。

注意

Exchange 2010 RTM では、2007 Office System コンバーター: Microsoft フィルター パックをインストールすることで前提条件を満たすことができます。Office 2010 バージョンのフィルター パックにアップグレードすることをお勧めします。

実行内容

  • Microsoft フィルター パックの IFilter を手動で登録する

  • Microsoft フィルター パック IFilter を自動的に登録する

Microsoft フィルター パックの IFilter を手動で登録する

注意

レジストリに誤った変更を加えると、オペレーティング システムの再インストールを必要とするような重大な問題を引き起こす場合があります。レジストリを誤って変更したことによる問題は、解決できないことがあります。レジストリを変更する前に、重要なデータをバックアップしてください。

  1. レジストリ エディター (regedit) を起動します。

  2. 次のレジストリ サブキーを見つけます。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer\v14\MSSearch\CLSID

    次の表にあるサブキーおよび値を、このサブキーに追加します。

    サブキー

    {5A98B233-3C59-4B31-944C-0E560D85E6C3}

    drive:\Program Files\Common Files\Microsoft Shared\Filters\offfiltx.dll

    {DDFE337F-4987-4EC8-BDE3-133FA63D5D85}

    drive:\Program Files\Common Files\Microsoft Shared\Filters\offfiltx.dll

    {F90DFE0C-CBDF-41FF-8598-EDD8F222A2C8}

    drive:\Program Files\Common Files\Microsoft Shared\Filters\offfiltx.dll

    {20E823C2-62F3-4638-96BD-90F4F6784EBC}

    drive:\Program Files\Common Files\Microsoft Shared\Filters\offfiltx.dll

    {312AB530-ECC9-496E-AE0E-C9E6C5392499}

    drive:\Program Files\Common Files\Microsoft Shared\Filters\offfiltx.dll

    {B8D12492-CE0F-40AD-83EA-099A03D493F1}

    drive:\Program Files\Common Files\Microsoft Shared\Filters\ONIFilter.dll

    {FAEA5B46-761B-400E-B53E-E805A97A543E}

    drive:\Program Files\Common Files\Microsoft Shared\Filters\VISFilt.DLL

  3. 手順 2 で作成した各サブキーで、次の文字列の値を作成します。

    値の名前 種類 値のデータ

    ThreadingModel

    文字列 (REG_SZ)

    両方

  4. 次のレジストリ サブキーを見つけます。

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer\v14\MSSearch\Filters

    次の表にあるサブキーおよび値を、このサブキーに追加します。

    サブキー

    .docm

    {5A98B233-3C59-4B31-944C-0E560D85E6C3}

    .docx

    {5A98B233-3C59-4B31-944C-0E560D85E6C3}

    .pptm

    {DDFE337F-4987-4EC8-BDE3-133FA63D5D85}

    .pptx

    {DDFE337F-4987-4EC8-BDE3-133FA63D5D85}

    .xlsm

    {F90DFE0C-CBDF-41FF-8598-EDD8F222A2C8}

    .xlsx

    {F90DFE0C-CBDF-41FF-8598-EDD8F222A2C8}

    .xlsb

    {312AB530-ECC9-496E-AE0E-C9E6C5392499}

    .zip

    {20E823C2-62F3-4638-96BD-90F4F6784EBC}

    .one

    {B8D12492-CE0F-40AD-83EA-099A03D493F1}

    .vsd

    {FAEA5B46-761B-400E-B53E-E805A97A543E}

    .vss

    {FAEA5B46-761B-400E-B53E-E805A97A543E}

    .vst

    {FAEA5B46-761B-400E-B53E-E805A97A543E}

    .vdx

    {FAEA5B46-761B-400E-B53E-E805A97A543E}

    .vsx

    {FAEA5B46-761B-400E-B53E-E805A97A543E}

    .vtx

    {FAEA5B46-761B-400E-B53E-E805A97A543E}

  5. [サービス] コンソールを使用するか、Exchange 管理シェルに次のコマンドを入力して、[Microsoft Search (Exchange)] サービスを再起動します。

    Stop-Service msftesql-Exchange -Force; Start-Service MSExchangeSearch
    

Microsoft フィルター パック IFilter を自動的に登録する

  1. 次のテキストをメモ帳ファイルに貼り付けます。

    # Copyright (c) 2009 Microsoft Corporation. All rights reserved.
    # THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.
    # This is a filter registration script to configure Exchange Server 2010 to index Office 2007 file formats. 
    $DLLPath = $env:CommonProgramFiles + "\Microsoft Shared\Filters"
    $CLSIDKey = "HKLM:\SOFTWARE\Microsoft\ExchangeServer\V14\MSSearch\CLSID"
    $FiltersKey = "HKLM:\SOFTWARE\Microsoft\ExchangeServer\v14\MSSearch\Filters"
    
    # Filter DLL Locations
    $officeFilterLocation = $DLLPath + "\offfiltx.dll"
    $onenoteFilterLocation = $DLLPath + "\ONIFilter.dll"
    $visioFilterLocation = $DLLPath + "\VISFilt.DLL"
    
    # Filter GUIDs
    $docxGuid    ="{5A98B233-3C59-4B31-944C-0E560D85E6C3}"
    $pptxGuid    ="{DDFE337F-4987-4EC8-BDE3-133FA63D5D85}"
    $xlsxGuid    ="{F90DFE0C-CBDF-41FF-8598-EDD8F222A2C8}"
    $zipGuid     ="{20E823C2-62F3-4638-96BD-90F4F6784EBC}"
    $xlsbGuid    ="{312AB530-ECC9-496E-AE0E-C9E6C5392499}"
    $onenoteGuid ="{B8D12492-CE0F-40AD-83EA-099A03D493F1}"
    $vsdGuid     ="{FAEA5B46-761B-400E-B53E-E805A97A543E}"
    
    # Create CLSIDs
    Write-Host "Creating CLSIDs..."
    
    New-Item -Path $CLSIDKey -Name $docxGuid -Value $officeFilterLocation -Type String
    New-Item -Path $CLSIDKey -Name $pptxGuid  -Value $officeFilterLocation -Type String
    New-Item -Path $CLSIDKey -Name $xlsxGuid  -Value $officeFilterLocation -Type String
    New-Item -Path $CLSIDKey -Name $zipGuid  -Value $officeFilterLocation -Type String
    New-Item -Path $CLSIDKey -Name $xlsbGuid -Value $officeFilterLocation -Type String
    New-Item -Path $CLSIDKey -Name $onenoteGuid -Value $onenoteFilterLocation -Type String
    New-Item -Path $CLSIDKey -Name $vsdGuid  -Value $visioFilterLocation -Type String
    
    # Set Threading model
    Write-Host "Setting threading model..."
    
    New-ItemProperty -Path "$CLSIDKey\$docxGuid" -Name "ThreadingModel" -Value "Both" -Type String
    New-ItemProperty -Path "$CLSIDKey\$pptxGuid" -Name "ThreadingModel" -Value "Both" -Type String
    New-ItemProperty -Path "$CLSIDKey\$xlsxGuid" -Name "ThreadingModel" -Value "Both" -Type String
    New-ItemProperty -Path "$CLSIDKey\$zipGuid" -Name "ThreadingModel" -Value "Both" -Type String
    New-ItemProperty -Path "$CLSIDKey\$xlsbGuid" -Name "ThreadingModel" -Value "Both" -Type String
    New-ItemProperty -Path "$CLSIDKey\$onenoteGuid" -Name "ThreadingModel" -Value "Both" -Type String
    New-ItemProperty -Path "$CLSIDKey\$vsdGuid" -Name "ThreadingModel" -Value "Both" -Type String
    
    # Create Filter Entries
    Write-Host "Creating Filter Entries..."
    
    # Uncomment these if you wish to index these uncommonly exchanged formats
    #New-Item -Path $FiltersKey -Name ".docm" -Value $docxGuid -Type String
    #New-Item -Path $FiltersKey -Name ".pptm" -Value $pptxGuid -Type String
    #New-Item -Path $FiltersKey -Name ".xlsm" -Value $xlsxGuid -Type String
    #New-Item -Path $FiltersKey -Name ".vss" -Value $vsdGuid   -Type String
    #New-Item -Path $FiltersKey -Name ".vst" -Value $vsdGuid   -Type String
    #New-Item -Path $FiltersKey -Name ".vsx" -Value $vsdGuid   -Type String
    #New-Item -Path $FiltersKey -Name ".vtx" -Value $vsdGuid   -Type String
    
    # These are the entries for commonly exchange formats
    New-Item -Path $FiltersKey -Name ".docx" -Value $docxGuid -Type String
    New-Item -Path $FiltersKey -Name ".pptx" -Value $pptxGuid -Type String
    New-Item -Path $FiltersKey -Name ".xlsx" -Value $xlsxGuid -Type String
    New-Item -Path $FiltersKey -Name ".xlsb" -Value $xlsbGuid -Type String
    New-Item -Path $FiltersKey -Name ".zip" -Value $zipGuid  -Type String
    New-Item -Path $FiltersKey -Name ".one" -Value $onenoteGuid -Type String
    New-Item -Path $FiltersKey -Name ".vsd" -Value $vsdGuid   -Type String
    
    Write-Host "Registry subkeys created."
    Write-Host "Please restart Microsoft Search  (Exchange) service from the Services console, or by running stop-service msftesql-Exchange -Force ; start-service MSExchangeSearch "
    
  2. ファイルに RegisterMicrosoftFilterPack.ps1 という名前を付けて保存します。

  3. Windows PowerShell または Exchange 管理シェルを起動します。

  4. RegisterMicrosoftFilterPack.ps1 スクリプトを実行します。

    重要

    Windows PowerShell または Exchange 管理シェルでスクリプトの実行が許可されるかどうかは、実行ポリシーによって決定されます。詳細については、「スクリプトのセキュリティ」を参照してください。

  5. [サービス] コンソールを使用するか、Exchange 管理シェルに次のコマンドを入力して、[Microsoft Search (Exchange)] サービスを再起動します。

    Stop-Service msftesql-Exchange -Force; Start-Service MSExchangeSearch
    

 © 2010 Microsoft Corporation.All rights reserved.