web-dev-qa-db-fra.com

Windows 10 recherche ne fonctionne pas - searchui.exe manquant

Lorsque j'essaie d'accéder à la fonction de recherche Windows 10 (en cliquant sur la barre dans la barre des tâches ou en commençant à taper dans le menu Démarrer), rien ne se passe; La recherche "fenêtre" ne apparaît pas.

J'ai enquêté seul et j'ai trouvé quelques points pouvant causer ce problème:

  • J'ai utilisé Spybot Anti-Beacon Pour empêcher Windows (et Corttana) d'accéder aux sites Web de Bing et de télémétrie. Même en cas de désactivation Tout modifications apportées par ce programme et redémarrage de l'ordinateur, aucun changement n'est visible.
  • Certaines politiques de groupe ont été modifiées via gpedit.msc qui affectent Corttana et la recherche Windows. Après avoir réinitialisé ces stratégies à la valeur par défaut ("non configurée") et de redémarrer, aucun changement n'est perceptible.
  • Le répertoire de Corttana en C:\Windows\SystemApps n'existe pas. Cela signifie également qu'un fichier nommé SearchUI.exe n'existe pas car il devrait être contenu dans ce dossier. Le gestionnaire de tâches ne montre pas non plus de processus de fonctionnement pour SearchUI.exe ni pour Corttana. Lorsque vous essayez de réinstaller toutes les applications système définies d'usine dans une instance de PowerShell élevée avec la commande

    Get-AppXPackage | Foreach {Add-AppXPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"
    

    (qui a été trouvé ici ) Toutes les applications sauf pour Corttana sont réinstallées. Lors de l'exécution Get-AppXPackage *Cortana*, aucun paquet n'est trouvé ou sortit, mais par exemple Get-AppXPackage *Edge* donne un résultat.

Je suppose que l'erreur critique est que SearchUI.exe (et, en fait, tout le répertoire de Cortana restant) est manquant dans le système. Même après avoir exécuté Windows Update et installer toutes les mises à jour disponibles, le problème persiste.

Y a-t-il un moyen de restaurer la fonction de recherche sur la manière dont elle est censée être?

OS: Windows 10 PRO X64 (Build 14393.187)

8
mezzodrinker

J'ai réussi à restaurer la fonction de recherche en exécutant la configuration Windows 10 pouvant être téléchargée via l'outil de création de média de Microsoft, qui peut être obtenu à partir de ce site Web . Comme cela a également mentionné dans ce poste Reddit , créez un point de restauration du système avant Vous exécutez cette configuration au cas où tout ne va pas dans le traiter. Plutôt sûr que par désolé.

Les étapes que j'ai faites pour restaurer mon système sont:

  1. Téléchargez et exécutez l'outil outil de création multimédia .
  2. Sélectionnez "Créer un support d'installation pour un autre PC" et appuyez sur le bouton "Suivant".
  3. Cochez la case "Utiliser les options recommandées pour cette PC" (si ce n'est déjà coché) et appuyez sur le bouton "Suivant".
  4. Sélectionnez "Fichier ISO" et appuyez sur le bouton "Suivant".
  5. Fournissez un chemin où le fichier ISO doit être enregistré et confirmer.
  6. Attendez que le téléchargement finisse. Une fois que c'est fait, allez à l'emplacement de téléchargement.
  7. Cliquez avec le bouton droit sur le fichier ISO et appuyez sur "Mont". L'explorateur Windows doit passer à un lecteur monté contenant, entre autres fichiers, a setup.exe.
  8. Cours setup.exe.
  9. Décidez si vous souhaitez ou non télécharger et installer toutes les mises à jour Windows disponibles avant de continuer. Pour ma part, je décidais de mettre à jour, ce qui est également marqué comme option recommandée. Appuyez sur "Suivant".
  10. Si la configuration vous demande quels fichiers à conserver, sélectionnez l'option qui conserve vos fichiers et vos applications installées.
  11. Attendez que la configuration finisse. Votre ordinateur sera redémarré au moins une fois dans le processus.
  12. (Facultatif) Désinstallez toutes les applications préinstallées que vous ne souhaitez pas installer.
1
mezzodrinker

Microsoft a fourni une solution pour réinitialiser la recherche Windows via un script PowerShell et un ensemble d'étapes trouvées ici sous "Réinitialiser la recherche Windows". J'inclus les étapes ainsi que le contenu du script PowerShell "resetwindowssearchbox.ps1" ci-dessous.

Si la mise à jour Windows 10 mai 2019 ou une mise à jour ultérieure est installée, utilisez Windows PowerShell pour réinitialiser la recherche Windows. Pour le faire, suivez ces étapes.

Remarque Vous devez avoir des autorisations d'administrateur pour exécuter ce script.

  1. Cliquez sur le bouton de téléchargement et enregistrez resetwindowssearchbox.ps1 dans un dossier local.
  2. Cliquez avec le bouton droit sur le fichier que vous avez sauvegardé et sélectionnez Exécuter avec PowerShell.
  3. Si vous êtes posé "Voulez-vous permettre à cette application de modifier votre appareil?" Sélectionnez Oui.
  4. Le script PowerShell réinitialise la fonction de recherche Windows. Lorsque le mot "fait" apparaît, fermez la fenêtre PowerShell.
  5. Si vous recevez un "ne peut pas être chargé car exécuter des scripts est désactivé sur ce système" message d'erreur, entrez la commande suivante de la ligne de commande de la fenêtre PowerShell, puis appuyez sur Entrée:

    Get-ExecutionPolicy

    Remarque La stratégie actuelle apparaît dans la fenêtre. Par exemple, vous pourriez voir restreint. Nous vous recommandons de noter cette valeur car vous devrez l'utiliser plus tard.

  6. Entrez la commande suivante sur la ligne de commande de la fenêtre PowerShell, puis appuyez sur Entrée:

    Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted

    Remarque Vous recevrez un message d'avertissement qui explique les risques de sécurité d'un changement de politique d'exécution. Appuyez sur Y, puis appuyez sur ENTER pour accepter le changement. Pour en savoir plus sur les politiques d'exécution PowerShell, voir sur les stratégies d'exécution .

  7. Une fois que la modification de la stratégie est terminée, fermez la fenêtre, puis répétez les étapes 2 à 4. Cependant, lorsque le message "Terminé" apparaît cette fois, ne fermez pas la fenêtre PowerShell. Au lieu de cela, appuyez sur n'importe quelle touche pour continuer.
  8. Revenir à votre paramètre de stratégie d'exécution précédente PowerShell. Pour ce faire, entrez la commande suivante de la ligne de commande de la fenêtre PowerShell, appuyez sur la barre d'espace, entrez la valeur de stratégie que vous avez notée à l'étape 5, puis appuyez sur Entrée:

    Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy

    Par exemple, si la politique que vous avez notée à l'étape 5 était restreinte, la commande ressemblerait aux éléments suivants:

    Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Restricted

    Remarque Vous recevrez un message d'avertissement qui explique les risques de sécurité d'un changement de politique d'exécution. Appuyez sur Y, puis appuyez sur ENTER pour accepter le changement et revenir à votre paramètre de stratégie précédent.

  9. Fermez la fenêtre PowerShell.

[dix. Redémarrer PC] ¹

Remarque Si votre organisation a désactivé la possibilité d'exécuter des scripts, contactez votre administrateur pour obtenir de l'aide.

¹ Étape 10 ajoutée depuis que ce correctif n'a pas pris effet tant que je le recommande.

Resetwindowssearchbox.ps1

# 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"
    R-R "HKLM:\SOFTWARE\Microsoft\Search\Testability"
}

function K-P {
    [CmdletBinding()]
    Param(
        [String] $g
    )

    $h = Get-Process $g -ErrorAction SilentlyContinue

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

    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",
        "$Env:localappdata\Packages\Microsoft.Search_8wekyb3d8bbwe\AC\AppCache",
        "$Env:localappdata\Packages\Microsoft.Search_8wekyb3d8bbwe\AC\INetCache",
        "$Env:localappdata\Packages\Microsoft.Search_8wekyb3d8bbwe\AC\INetCookies",
        "$Env:localappdata\Packages\Microsoft.Search_8wekyb3d8bbwe\AC\INetHistory",
        "$Env:localappdata\Packages\Microsoft.Windows.Search_cw5n1h2txyewy\AC\AppCache",
        "$Env:localappdata\Packages\Microsoft.Windows.Search_cw5n1h2txyewy\AC\INetCache",
        "$Env:localappdata\Packages\Microsoft.Windows.Search_cw5n1h2txyewy\AC\INetCookies",
        "$Env:localappdata\Packages\Microsoft.Windows.Search_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
}

function D-E {
    Write-Host "Press any key to continue..."
    $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyUp") > $null
}

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 "-noexit",$Cx
  Exit
 }
}

$a = "searchui"
$b = "$Env:localappdata\Packages\Microsoft.Windows.Search_cw5n1h2txyewy"
if (Test-Path -Path $b) {
    $a = "searchapp"
} 


Write-Output "Resetting Windows Search Box"
S-D 2>&1 | out-null
R-L $a

Write-Output "Done..."
D-E
4
Mr.Z