简单来说,文件服务器的索引会随机失效。
文件服务器已启用并索引了 Windows Search 服务。有许多客户端连接到此服务器,可能多达 100 个。客户端 Windows (7/10) 计算机将无法搜索服务器。绿色条不断移动,没有显示任何结果。
在服务器上,只需重新启动 Windows Search (Wsearch) 服务即可解决此问题。停止/重新启动需要很长时间(例如一分钟)。当“停止”时,它会抛出一个错误,提示无法停止服务。以下是从 powershell 停止服务时抛出的错误。
Stop-Service : Service 'Windows Search (Wsearch)' cannot be stopped due to the following error: Cannot stop Wsearch
service on computer '------'.
At C:\Users\------\Documents\PSscript\Wsearch-stop.ps1:4 char:54
+ Get-Service -Name $svc_name -ComputerName $pc_name | Stop-Service
+ ~~~~~~~~~~~~
+ CategoryInfo : CloseError: (System.ServiceProcess.ServiceController:ServiceController) [Stop-Service],
ServiceCommandException
+ FullyQualifiedErrorId : CouldNotStopService,Microsoft.PowerShell.Commands.StopServiceCommand
有时它不会失败,但也可能一天失败多次。我们无法找出罪魁祸首,只能根据要求重新启动它。文件操作不受阻碍。
编辑:我想知道是否有人遇到过这样的问题。我在网上找不到任何答案。我目前的解决方案是尝试编写一个脚本来从客户端计算机查询网络索引,当发现错误时,重新启动服务。
答案1
查看客户端计算机上的事件日志,找到索引搜索失败的时间。您可以创建一个特殊的计划任务,该任务将由所需事件触发并运行 PS 脚本。我的同事为您写了一个示例:
输入-PSSession-ComputerName“example-server.domain.local”
设置服务“WSearch”-StartupType 手册
获取服务-名称“WSearch”| 格式列表-属性名称,DependentServices|
出零
停止服务-名称“WSearch”-强制-确认
启动服务-名称“WSearch”-确认
搜索索引器