簡単に言うと、ファイルサーバーのインデックスはランダムに失敗します。
ファイルサーバーでは、Windows Searchサービスが有効になっており、インデックスが作成されています。このサーバーに接続されているクライアントは多数あり、場合によっては最大100個です。クライアントのWindows(7/10)マシンは、サーバーの検索に失敗します。緑のバーは動き続け、結果は表示されません。
サーバーでは、Windows Search(Wsearch)サービスを再起動するだけで解決できます。停止/再起動には長い時間(1分程度)がかかります。 「停止」すると、サービスを停止できないというエラーがスローされます。以下は、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スクリプトを実行する特別なスケジュールされたタスクを作成できます。私の同僚はあなたのためにサンプルを書きました:
Enter-PSSession -ComputerName "example-server.domain.local"
Set-Service "WSearch" -StartupTypeマニュアル
Get-Service -Name "WSearch" | Format-List -Property Name、DependentServices |
アウトヌル
Stop-Service -Name "WSearch" -Force-Confirm
Start-Service -Name "WSearch" -Confirm
SearchIndexer.exe