向 Exchange 2010 注册 Filter Pack IFilter
**适用于:**Exchange Server 2010
**上一次修改主题:**2009-11-11
Exchange 搜索使用 IFilter 为不同文件格式的文本内容编制索引。Microsoft Filter Pack 包括用于各种 Microsoft Office 2007 文件格式的筛选器。安装 Filter Pack 是 Exchange 2010 的一个先决条件。Filter Pack 支持以下文件扩展名:.docm、docx, .one, .pptm, .pptx, .vdx, .vsd, .vss, .vst, .vsx, .vtx, .xlsb, .xlsm, .xlsx, .zip。有关详细信息,请参阅 2007 Office 系统转换器:Microsoft Filter Pack 来自(英文)。
安装 Filter Pack 后,会向 Windows Search 注册所包含的 IFilter。若要使 Exchange 搜索能够为 Office 2007 文件格式编制索引,必须通过修改注册表来注册为 Exchange 2010 安装的 IFilter。执行该步骤之前,请先在服务器上安装 Exchange 2010。
希望执行何种操作?
- 手动注册 Microsoft Filter Pack IFilter
- 自动注册 Microsoft Filter Pack IFilter
手动注册 Microsoft Filter Pack IFilter
警告
不正确地编辑注册表时,可能导致出现严重问题,从而需要重新安装操作系统。因不正确地编辑注册表而导致出现的问题是能够解决的问题。在编辑注册表之前,请备份任何有用数据。
启动注册表编辑器 (regedit)。
查找以下注册表子项: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
在步骤 2 中创建的每个子项中创建以下字符串值。
值名称 类型 数值数据 ThreadingModel
字符串 (REG_SZ)
两者
查找以下注册表子项:
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}
通过使用“服务”控制台或在 Exchange 命令行管理程序中键入以下命令,重新启动 Microsoft Search (Exchange) 服务。
Stop-Service msftesql-Exchange -Force; Start-Service MSExchangeSearch
自动注册 Microsoft Filter Pack IFilter
将以下文本粘贴到记事本文件中。
# 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 "
命名文件 RegisterMicrosoftFilterPack.ps1,然后保存。
启动 Windows PowerShell 或 Exchange 命令行管理程序。
运行脚本 RegisterMicrosoftFilterPack.ps1。
重要
Windows PowerShell 或 Exchange 命令行管理程序是否允许您运行脚本是由执行策略决定的。有关更多详细信息,请参阅脚本安全性。
通过使用“服务”控制台或在 Exchange 命令行管理程序中键入以下命令,重新启动 Microsoft Search (Exchange) 服务。
Stop-Service msftesql-Exchange -Force; Start-Service MSExchangeSearch