I’m not sure why, but Windows Search Service is broken on my installation of Windows. I’ve posted on Microsoft forums, and found other people with the same issue, but no fixes that have worked for me. The service will work, but every time I reboot, the service is disabled and stopped. I have to change it to manual or automatic, and start the service. It’s annoying, and if I forget to do it, I get messages (and slow searches) when using OneNote or Outlook.
Finally, it occurred to me to powershell this. It’s a 2 line script:
Set-Service -Name WSearch -StartupType Automatic
Start-Service -Name WSearch
Then I created a scheduled task that runs the script file on windows startup. The job is something like the following, depending on your path:
powershell.exe -noexit D:\tools\scripts\WSearchFix.ps1
Note a couple of things. First, WSearchFix.ps1 is just what I named the powershell script from above, name it as you please. Second, the -noexit is not necessary, especially once you’ve run the script and verified it works from the task scheduler.
The most common problem is that if you don’t use powershell scripts, they are disabled by default. You can either sign them and use a semi-secure policy, or just open it up with:
Set-ExecutionPolicy Unrestricted
Finally, I went into the advanced options for the schedule tasks trigger and put it on a 2 minute delay. This is just a hunch, but I think something is setting the service to disabled on boot, so I wanted that to be done before the fix ran.
Of course this is a hack, and I would like to just have the service work and stay disabled. But all things considered, this is a band-aid that works.