對 Exchange 2010 註冊 Filter Pack IFilter

 

適用版本: Exchange Server 2010 SP2, Exchange Server 2010 SP3

上次修改主題的時間: 2016-11-28

Exchange 搜尋會使用 IFilter,以不同檔案格式來製作文字內容的索引。Microsoft Office 2010 Filter Packs 包含 Microsoft Office 2010 和 Office 2007 檔案格式的篩選器。安裝 Filter Pack 是 Exchange 2010 Mailbox 和 Hub Transport Server 的必要條件。如需詳細資訊,請參閱Exchange 2010 必要條件。篩選器組件支援下列副檔名:.docm, .docx, .one, .pptm, .pptx, .vdx, .vsd, .vss, .vst, .vsx, .vtx, .xlsb, .xlsm, .xlsx, .zip。如需相關資訊和下載 Filter Pack,請參閱 Microsoft Office 2010 Filter Packs

安裝 Filter Pack 之後,會在 Windows Search 註冊內含的 IFilter。若要讓 Exchange 2010 編排 Office 2010 檔案格式的索引,還必須向「Exchange 搜尋」註冊 IFilter。作法是修改登錄。

在 Exchange 2010 SP1 中,Exchange 安裝程式會向「Exchange 搜尋」註冊 Office 2010 Filter Packs 中的 IFilter。

在 Exchange 2010 量產發行 (RTM) 版本中,您必須經由修改登錄,才能向 Exchange 2010 註冊 IFilter。在伺服器上安裝 Exchange 2010 RTM 之後,您必須執行此步驟。

注意事項附註:
在 Exchange 2010 RTM 中,您可以安裝 2007 Office System Converter 以符合必要條件:Microsoft Filter Pack。建議您升級至 Office 2010 版的 Filter Pack。

您想要做什麼?

  • 手動註冊 Microsoft Filter Pack IFilter

  • 自動註冊 Microsoft Filter Pack IFilter

手動註冊 Microsoft Filter Pack 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}

    磁碟機:\Program Files\Common Files\Microsoft Shared\Filters\offfiltx.dll

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

    磁碟機:\Program Files\Common Files\Microsoft Shared\Filters\offfiltx.dll

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

    磁碟機:\Program Files\Common Files\Microsoft Shared\Filters\offfiltx.dll

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

    磁碟機:\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 Filter Pack 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. 著作權所有,並保留一切權利。