如何向 Exchange 2007 及 Exchange 2010 登錄 IFilters 2.0

 

上次修改主題的時間: 2011-10-20

本主題說明如何向 Microsoft Exchange Server 2007 及 Exchange Server 2010 登錄 Microsoft Filter Pack IFilters 的第二版。當您登錄 IFilters 時,會啟用要以執行 Exchange 的伺服器來建立索引的其他檔案類型。若要登錄 IFilters,您必須修改登錄。

本主題說明如何手動修改登錄。同時說明如何使用 Exchange_reg.vbs 指令碼來自動修改登錄。

Caution請注意:
若您使用登錄編輯程式或其他方法錯誤地修改登錄,可能會發生嚴重問題。這些問題可能需要您重新安裝作業系統。Microsoft 無法保證可以解決這些問題。修改登錄需自行承擔風險。

如何手動修改登錄以向 Exchange 2007 登錄 IFilters 2.0

  1. 安裝 Microsoft Filter Pack。Filter Pack 的架構應該符合作業系統 (x64 或 x86) 架構。如需如何安裝 Microsoft Filter Pack 的相關資訊,請參閱 2007 Office system 轉換程式:Microsoft Filter Pack

  2. 尋找下列登錄子機碼:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\MSSearch\CLSID\

  3. 在此子機碼下方,新增下列子機碼和值,其中 drive 代表適當的磁碟機代號。

    子機碼

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

    磁碟機:\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}

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

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

    磁碟機:\Program Files\Common Files\Microsoft Shared\Filters\VISFilt.DLL

    {56BD18AD-CF9C-4110-AAAA-B2F96887D123}

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

    {4039B326-9F27-4B4A-B460-47A0C6A39D5C}

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

  4. 尋找下列登錄子機碼:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\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}

    .html

    {56BD18AD-CF9C-4110-AAAA-B2F96887D123}

    .msg

    {4039B326-9F27-4B4A-B460-47A0C6A39D5C}

  5. 停止並重新啟動 Exchange 搜尋服務。若要這樣做,請遵循下列步驟:

    1. 依序按一下 [開始] 和 [執行],並輸入 cmd,然後按一下 [確定]。

    2. 在命令提示字元中輸入 net stop msftesql-exchange,然後按 ENTER。

    3. 在命令提示字元中輸入 net start msexchangesearch,然後按 ENTER。

    4. 輸入 exit,然後按 ENTER 以結束命令提示字元。

如何自動修改登錄以向 Exchange 2007 登錄 IFilters 2.0

  1. 安裝 Microsoft Filter Pack。Filter Pack 的架構應該符合作業系統 (x64 或 x86) 架構。如需如何安裝 Microsoft Filter Pack 的相關資訊,請參閱 2007 Office system 轉換程式:Microsoft Filter Pack

  2. 複製下列文字,然後貼到記事本檔案:

    Copyright (c) 2007 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 2007 to index 2007 Office attachments.
    ' The script generates a .reg file that adds the required registry keys.
    
    Const ForWriting = 2
    
    Set FSO   = CreateObject("Scripting.FileSystemObject")
    Set Shell = CreateObject ("WSCript.shell")
    Set Env   = Shell.Environment("Process")
    
    
    wscript.echo "Creating ExchangeFilterRegistration.reg in the current directory"
    Set file = FSO.OpenTextFile("ExchangeFilterRegistration.reg", ForWriting, True)
    
    commonFiles = Env("CommonProgramFiles")
    commonFiles = Replace(commonFiles,"\","\")
    
    officeFilterLocation  = commonFiles & "\Microsoft Shared\Filters\offfiltx.dll"
    onenoteFilterLocation = commonFiles & "\Microsoft Shared\Filters\ONIFilter.dll"
    visioFilterLocation   = commonFiles & "\Microsoft Shared\Filters\VISFilt.DLL"
    
    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}"
    msgGuid   ="{4039B326-9F27-4B4A-B460-47A0C6A39D5C}"
    htmlGuid    ="{56BD18AD-CF9C-4110-AAAA-B2F96887D123}"
    
    exchangeClsidKey   = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\MSSearch\CLSID"
    exchangeFilterKey  = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\MSSearch\Filters"
    
    
    file.WriteLine "Windows Registry Editor Version 5.00"   
    file.WriteLine   
    file.WriteLine "[" & exchangeClsidKey & "]"  
    file.WriteLine 
    OutputCLSIDKey exchangeClsidKey, docxGuid, officeFilterLocation 
    OutputCLSIDKey exchangeClsidKey, pptxGuid, officeFilterLocation 
    OutputCLSIDKey exchangeClsidKey, xlsxGuid, officeFilterLocation 
    OutputCLSIDKey exchangeClsidKey, zipGuid,  officeFilterLocation 
    OutputCLSIDKey exchangeClsidKey, xlsbGuid, officeFilterLocation
    OutputCLSIDKey exchangeClsidKey, msgGuid, officeFilterLocation
    OutputCLSIDKey exchangeClsidKey, htmlGuid, officeFilterLocation 
    OutputCLSIDKey exchangeClsidKey, onenoteGuid, onenoteFilterLocation 
    OutputCLSIDKey exchangeClsidKey, vsdGuid, visioFilterLocation 
    
    
    file.WriteLine "[" & exchangeFilterKey & "]"
    file.WriteLine 
    OutputFilterKey exchangeFilterKey, "docm", docxGuid
    OutputFilterKey exchangeFilterKey, "docx", docxGuid
    OutputFilterKey exchangeFilterKey, "pptm", pptxGuid
    OutputFilterKey exchangeFilterKey, "pptx", pptxGuid
    OutputFilterKey exchangeFilterKey, "xlsm", xlsxGuid
    OutputFilterKey exchangeFilterKey, "xlsx", xlsxGuid
    OutputFilterKey exchangeFilterKey, "xlsb", xlsbGuid
    OutputFilterKey exchangeFilterKey, "zip",  zipGuid
    OutputFilterKey exchangeFilterKey, "one",  onenoteGuid
    
    OutputFilterKey exchangeFilterKey, "vsd",  vsdGuid
    OutputFilterKey exchangeFilterKey, "vss",  vsdGuid
    OutputFilterKey exchangeFilterKey, "vst",  vsdGuid
    OutputFilterKey exchangeFilterKey, "vdx",  vsdGuid
    OutputFilterKey exchangeFilterKey, "vsx",  vsdGuid
    OutputFilterKey exchangeFilterKey, "vtx",  vsdGuid
    OutputFilterKey exchangeFilterKey, "msg",  msgGuid
    OutputFilterKey exchangeFilterKey, "html", htmlGuid
    
    wscript.echo "Created ExchangeFilterRegistration.reg for this server."
    wscript.echo "Run ExchangeFilterRegistration.reg to enable Exchange Search indexing of 2007 Office attachments."
    wscript.echo "then run ""net stop msftesql-exchange"" followed by ""net start msexchangesearch """
    
    Public Function OutputCLSIDKey(base,guid,location)
    file.WriteLine "[" & base & "\" & guid & "]"
    file.WriteLine "@=""" & location & """" 
    file.WriteLine    
    End Function
    
    Public Function OutputFilterKey(base,extension,guid)
    file.WriteLine "[" & base & "\." & extension & "]"
    file.WriteLine "@=""" & guid & """" 
    file.WriteLine    
    End Function
    
  3. 儲存名為 Exchange_reg.vbs 的檔案,然後按兩下該檔案。此程序會建立一個 ExchangeFilterRegistration.reg 檔案。

  4. 按兩下 ExchangeFilterRegistration.reg 檔案,然後遵循提示來設定正確的登錄值。

    下列是 Filter Pack 支援的副檔名:

    .docm

    .docx

    .one

    .pptm

    .pptx

    .vdx

    .vsd

    .vss

    .vst

    .vsx

    .vtx

    .xlsb

    .xlsm

    .xlsx

    .zip

    .msg

    .html

如何手動修改登錄以向 Exchange 2010 登錄 IFilters 2.0

  1. 安裝 Microsoft Filter Pack。

    如需如何安裝 Microsoft Filter Pack 的相關資訊,請參閱 2007 Office system 轉換程式:Microsoft Filter Pack

  2. 尋找下列登錄子機碼:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer\v14\MSSearch\CLSID

    在此子機碼下方,新增下列子機碼和值,其中 drive 代表適當的磁碟機代號。

    子機碼

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

    磁碟機:\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}

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

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

    磁碟機:\Program Files\Common Files\Microsoft Shared\Filters\VISFilt.DLL

    {56BD18AD-CF9C-4110-AAAA-B2F96887D123}

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

    {4039B326-9F27-4B4A-B460-47A0C6A39D5C}

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

  3. 尋找下列登錄子機碼:

    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}

    .html

    {56BD18AD-CF9C-4110-AAAA-B2F96887D123}

    .msg

    {4039B326-9F27-4B4A-B460-47A0C6A39D5C}

  4. 停止並重新啟動 Exchange 搜尋服務。若要這樣做,請遵循下列步驟:

    1. 依序按一下 [開始] 和 [執行],並輸入 cmd,然後按一下 [確定]。

    2. 在命令提示字元中輸入 net stop msftesql-exchange,然後按 ENTER。

    3. 在命令提示字元中輸入 net start msexchangesearch,然後按 ENTER。

    4. 輸入 exit,然後按 ENTER 以結束命令提示字元。

  5. 使用服務主控台或在 Exchange 管理命令介面中輸入下列命令,重新啟動 Microsoft 搜尋 (Exchange) 服務:

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

如何自動修改登錄以向 Exchange 2010 登錄 IFilters 2.0

  1. 安裝 Microsoft Filter Pack。如需如何安裝 Microsoft Filter Pack 的相關資訊,請參閱 2007 Office system 轉換程式:Microsoft Filter Pack

  2. 複製下列文字,然後貼到記事本檔案:

    # 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}"
    $msgGuid    ="{4039B326-9F27-4B4A-B460-47A0C6A39D5C}"
    $htmlGuid    ="{56BD18AD-CF9C-4110-AAAA-B2F96887D123}"
    
    # 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
    
  3. 將檔案命名為 RegisterMicrosoftFilterPack.ps1,然後儲存。

  4. 啟動 Windows PowerShell 或 Exchange 管理命令介面。

  5. 執行 RegisterMicrosoftFilterPack.ps1 指令碼。

    important重要事項:
    Windows PowerShell 或 Exchange 管理命令介面是否讓您執行指令碼是由執行原則所定義。如需詳細資料,請參閱指令碼安全性
  6. 使用服務主控台或在 Exchange 管理命令介面中輸入下列命令,重新啟動 Microsoft 搜尋 (Exchange) 服務:

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