Per una completa indicizzazione degli allegati da parte di Exchange dobbiamo installare i vari iFilter necessari.
Quelli riguardanti i file di Office vengono installati durante l’installazione dei prerequisiti, mentre per le immagini TIFF (formato utilizzato dal servizio fax di windows server ad esempio) è necessario aggiungere l’iFilter specifico presente nelle funzionalità di Windows Server.
Per i PDF invece la situazione è un pò più complessa e richiede vari passaggi:
- Scaricare e installare iFilter 64bit di Adobe, attualmente fermo alla versione 9
- Invece di creare le voci di registro manualmente, potete digitare il seguente codice nella Managemente Shell di Microsoft Exchange:
# Adobe iFilter Directory Path
$iFilterDirName = "C:\Program Files\Adobe\Adobe PDF IFilter 9 for 64-bit platforms\bin"# Get the original path environment variable
$original = (Get-ItemProperty "HKLM:SYSTEM\CurrentControlSet\Control\Session Manager\Environment" Path).Path# Add the ifilter path
Set-ItemProperty "HKLM:SYSTEM\CurrentControlSet\Control\Session Manager\Environment" Path -value ( $original + ";" + $iFilterDirName )
$CLSIDKey = "HKLM:\SOFTWARE\Microsoft\ExchangeServer\V14\MSSearch\CLSID"
$FiltersKey = "HKLM:\SOFTWARE\Microsoft\ExchangeServer\v14\MSSearch\Filters"# Filter DLL Locations
$pdfFilterLocation = “PDFFilter.dll"# Filter GUIDs
$PDFGuid ="{E8978DA6-047F-4E3D-9C78-CDBE46041603}"# Create CLSIDs
Write-Host "Creating CLSIDs..."
New-Item -Path $CLSIDKey -Name $PDFGuid -Value $pdfFilterLocation -Type String# Set Threading model
Write-Host "Setting threading model..."
New-ItemProperty -Path "$CLSIDKey\$PDFGuid" -Name "ThreadingModel" -Value "Both" -Type String# Set Flags
Write-Host "Setting Flags..."
New-ItemProperty -Path "$CLSIDKey\$PDFGuid" -Name "Flags" -Value "1" -Type Dword# Create Filter Entries
Write-Host "Creating Filter Entries..."# These are the entries for commonly exchange formats
New-Item -Path $FiltersKey -Name ".pdf" -Value $PDFGuid -Type String
Write-Host -foregroundcolor Green "Registry subkeys created. If this server holds the Hub Transport Role, the Network Service will need to have read access to the following registry keys:`n$CLSIDKey\$PDFGuid`n$FiltersKey\.pdf” - Riavviate il server che esegue Exchange e ricreate l’indice digitando nella Shell:
cd ‘C:\Program Files\Microsoft\Exchange Server\V14\Scripts’
./ResetSearchIndex.ps1 –Force –All
L’operazione va ripetuta eventualmente per tutti i server che eseguono il ruolo Mailbox Server e Hub Transport, inoltre verificare che l’utente Network Service abbia i diritti di lettura sulla chiave di registro indicata al termine dell’esecuzione.
A questo punto attendere il completamento dell’operazione che dipende dal numero di messaggi presenti nel database e protave a cercare del testo contenuto in PDF.