
配置:
版本 Windows 11 Pro,版本 21H2 作業系統建置 22000.348 體驗 Windows 功能體驗套件 1000.22000.348.0 Microsoft® Outlook® 2019 MSO(版本 2110 建置 16.0.14527.2019 MSO(版本 2110 建置 16.0.14527.20270)64199
奇怪的 Windows 搜尋問題,範例步驟如下:
- 啟動電腦
- 建立測試資料夾 c:\mytest 並建立包含以下內容的 testfile.txt:bbbccc
- 將此資料夾新增至Windows 作業系統的進階搜尋選項中的索引包含位置,檢查MS Search 是否找到字串bbbccc (在我的情況下,它在建立testfile.txt 後立即找到)=> 所以MS Search 可以工作,因為它找到了帶有以下內容的文件:立即出現“bbbccc”字串。
- 開啟 Outlook 2019
- 下載新電子郵件
- 在 Outlook 搜尋列中搜尋新下載的電子郵件之一
- 我的搜尋沒有任何結果!
- 額外測試:我使用另一個電子郵件地址,並從該電子郵件發送一封測試電子郵件,主題為“測試電子郵件”,正文中的消息緊跟字串“xxxyyyzzz”
- 我等待電子郵件進入/在 Outlook 中下載這封新電子郵件,然後我搜尋 xxxyyyzzz,然後…沒有結果!
- 我使用 Powershell 腳本檢查索引,以仔細檢查新下載的電子郵件是否不在 WSearch 索引子系統中(Powershell 腳本貼在這個問題的底部)
- 事實上,xxxyyyzzz 測試字串沒有顯示在系統索引…(Powershell 腳本零結果)
- 當我重新啟動時:新電子郵件顯示在 Powershell 腳本中,當然 Outlook 也會在 Outlook 搜尋列中找到 xxxyyyzzz 測試字串電子郵件
- 我不是 WSearch 專家,但據我了解,Outlook 不涉及爬行,Outlook 應該通知 WSearch 的收藏家。
- 如果假設 13 是正確的…那麼這裡發生了什麼事? A。 Outlook 是否未通知 WSearch 收集器? b.或 Outlook 通知正確但 Wsearch 失敗? C. 有沒有辦法檢查 WSearch 是否正在接收來自 Outlook 的 mapi 通知(= 我們可以「監聽」或監視 WSearch 收集器收到的內容嗎?)
我嘗試了通常的急救解決方案:修復線上Office,重建索引......相同的最終結果。
請注意:這個問題在我辦公室的不同電腦上都是一樣的,所有電腦都升級到了Win11 Pro 64位元。我在Win10 Pro 64位上從來沒有遇到過這個問題...
用於在 WSearch Index 資料庫中搜尋 xxxyyyzzz 字串的 Powershell 腳本:
function Invoke-WindowsSearch
{
param
(
[Parameter()][string] $SearchString = ""
)
$SearchString = $SearchString.Replace("'","''")
$query = "select System.Message.datereceived, System.ItemNameDisplay from systemindex where contains('$SearchString')"
$provider = "Provider=Search.CollatorDSO.1;Extended?PROPERTIES='Application=Windows'"
$adapter = new-object System.Data.OleDb.OleDBDataAdapter -Argument $query, $provider
$results = new-object System.Data.DataSet
$adapter.Fill($results)
$results.Tables[0]
}
Invoke-WindowsSearch xxxyyyzzz