Windows 10

Windows 10 v1903, Windows Search ne fonctionne plus ? Solutions

Le dernier Patch Tuesday n’a pas été sans problème car plusieurs bugs sont apparus dans Windows 10 v1903. L’un des derniers concerne le service Windows Search.

Microsoft a récemment reconnu que l’une des dernières mises à jour cumulatives à destination de May 2019 Update peut poser problème dans certaines situations. Des soucis sont apparus avec le menu Démarrer et Windows Search. La mise à jour en question se nomme KB4515384. Elle a été publiée à l’occasion de la grande maintenance mensuelle du 10 septembre dernier. Microsoft travaille sur des correctifs. En attendant leur publication, plusieurs recommandations sont proposées si vous souhaitez réparer par vous-même ce bug du service de recherche de l’OS.

Windows 10 v1903 et le bug Windows Search

Microsoft recommande avant toute chose d’essayer l’outil de dépannage de “Recherche et indexation“. Disponible ici

Paramètres> Mise à jour et sécurité> Résolution des problèmes > Recherche et indexation

il fait partie des services de dépannage automatisés de Windows.

Windows 10 v1903 et le bug Windows Search

A l’usage ils n’arrivent pas forcement à résoudre tous les problèmes mais parfois ils peuvent traiter avec succès certains bugs mineurs. A noter que le dépanneur peut être lancé à partir d’une invite de commande.

Si la procédure est plus complexe, elle offre l’avantage de pouvoir créer des scripts. Pour ce faire, tapez “cmd” dans le champ rechercher de la barre des tâches pour exécuter une invite de commande en tant qu’administration (bouton droit de la souris).

Windows 10 v1903 et le bug Windows Search

Dans l’invite de commande vous pouvez exécuter la commande suivante

msdt.exe -ep WindowsHelp id SearchDiagnostic

Si cette solution ne fonctionne pas, Microsoft recommande de réinitialiser Windows Search. L’opération est compliquée au point que le géant propose un script PowerShell dédié.

PowerShell

# Copyright © 2019, Microsoft Corporation. All rights reserved.

function T-R

{

   [CmdletBinding()]

   Param(

       [String] $n

   )

   $o = Get-Item -LiteralPath $n -ErrorAction SilentlyContinue

   return ($o -ne $null)

}

function R-R

{

   [CmdletBinding()]

   Param(

       [String] $l

   )

   $m = T-R $l

   if ($m) {

       Remove-Item -Path $l -Recurse -ErrorAction SilentlyContinue

   }

}

function S-D {

   R-R “HKLM:\SOFTWARE\Microsoft\Cortana\Testability”

}

function K-P {

   [CmdletBinding()]

   Param(

       [String] $g

   )

   $h = Get-Process $g -ErrorAction SilentlyContinue

   $i = $(get-date).AddSeconds(2)

   $k = $(get-date)

   # While the timeout hasn’t been hit

   while ((($i – $k) -gt 0) -and $h) {

       $k = $(get-date)

       $h = Get-Process $g -ErrorAction SilentlyContinue

       if ($h) {

           $h.CloseMainWindow() | Out-Null

           Stop-Process -Id $h.Id -Force

       }

       $h = Get-Process $g -ErrorAction SilentlyContinue

   }

}

function D-FF {

   [CmdletBinding()]

   Param(

       [string[]] $e

   )

   foreach ($f in $e) {

       if (Test-Path -Path $f) {

           Remove-Item -Recurse -Force $f -ErrorAction SilentlyContinue

       }

   }

}

function D-W {

   $d = @(“$Env:localappdata\Packages\Microsoft.Cortana_8wekyb3d8bbwe\AC\AppCache”,

       “$Env:localappdata\Packages\Microsoft.Cortana_8wekyb3d8bbwe\AC\INetCache”,

       “$Env:localappdata\Packages\Microsoft.Cortana_8wekyb3d8bbwe\AC\INetCookies”,

       “$Env:localappdata\Packages\Microsoft.Cortana_8wekyb3d8bbwe\AC\INetHistory”,

       “$Env:localappdata\Packages\Microsoft.Windows.Cortana_cw5n1h2txyewy\AC\AppCache”,

       “$Env:localappdata\Packages\Microsoft.Windows.Cortana_cw5n1h2txyewy\AC\INetCache”,

       “$Env:localappdata\Packages\Microsoft.Windows.Cortana_cw5n1h2txyewy\AC\INetCookies”,

       “$Env:localappdata\Packages\Microsoft.Windows.Cortana_cw5n1h2txyewy\AC\INetHistory”)

   D-FF $d

}

function R-L {

   [CmdletBinding()]

   Param(

       [String] $c

   )

   K-P $c 2>&1 | out-null

   D-W # 2>&1 | out-null

   K-P $c 2>&1 | out-null

   Start-Sleep -s 5

}

Write-Output “Verifying that the script is running elevated”

if (-Not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] ‘Administrator’)) {

if ([int](Get-CimInstance -Class Win32_OperatingSystem | Select-Object -ExpandProperty BuildNumber) -ge 6000) {

$Cx = “-File `”” + $MyInvocation.MyCommand.Path + “`” ” + $MyInvocation.UnboundArguments

Start-Process -FilePath PowerShell.exe -Verb Runas -ArgumentList $Cx

Exit

}

}

$a = “searchui”

Write-Output “Resetting Windows Search Box”

S-D 2>&1 | out-null

R-L $a

Write-Output “Done…”

Pour l’exploiter vous devez le recopier dans un fichier texte à enregistrer sur le bureau par exemple. Une fois l’opération terminée il est nécessaire de changer l’extension . txt par .ps1.

Windows 10 v1903 et le bug Windows Search

Dans notre cas il s’agit du fichier

Reinitialisation_Windows_Search.ps1

Ensuite un clic droit de la souris permet de l’exécuter avec PowerShell. Lorsque vous êtes invité à modifier votre périphérique, cliquez sur Oui. Un redémarrage n’est pas obligatoire mais recommandé. Si de retour sur le bureau, Windows Search ne fonctionne toujours pas, la suppression de la mise à jour cumulative KB4515384 est la dernière option possible en attendant la publication d’un correctif.

Jérôme Gianoli

Aime l'innovation, le hardware, la High Tech et le développement durable. Soucieux du respect de la vie privée.

Un commentaire

  1. Il y a un petit logiciel gratuit qui s’appelle Everything et qui fait très bien le travail sans prendre de ressource ni de place. Au moins un truc que Microsoft ne pourra pas espionner, le recherche.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bouton retour en haut de la page