当我尝试访问 Windows 10 搜索功能(通过单击任务栏中的栏或开始在开始菜单中键入)时,什么都没有发生;搜索“窗口”没有弹出。
我自己调查了一下,发现有几点可能会导致这个问题:
- 我用了SpyBot 反信标阻止 Windows(和 Cortana)访问 Bing 和遥测网站。即使撤销全部该程序所做的更改并重新启动计算机,则看不到任何变化。
- 一些组策略被修改,
gpedit.msc
影响了 Cortana 和 Windows Search。将这些策略重置为默认值(“未配置”)并重新启动后,没有发现任何变化。 Cortana 的目录
C:\Windows\SystemApps
不存在。这也意味着名为的文件SearchUI.exe
不存在,因为它应该包含在该文件夹中。任务管理器既不显示 Cortana 的运行进程,SearchUI.exe
也不显示 Cortana 的运行进程。尝试使用命令在提升的 PowerShell 实例中重新安装所有出厂设置的系统应用程序时Get-AppXPackage | Foreach {Add-AppXPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"
(发现这里) 重新安装除 Cortana 之外的所有应用程序。执行时
Get-AppXPackage *cortana*
,未找到任何包或输出,但例如Get-AppXPackage *edge*
产生一个结果。
我认为关键错误是SearchUI.exe
系统缺少该(事实上,整个剩余的 Cortana 目录都缺失)。即使运行 Windows Update 并安装所有可用更新后,问题仍然存在。
有什么方法可以将搜索功能恢复到原有的状态吗?
操作系统:Windows 10 Pro x64(内部版本 14393.187)
答案1
微软提供了一个通过 powershell 脚本重置 Windows 搜索的解决方案,并找到了一组步骤这里在“重置 Windows Search”下。我将在下面列出步骤以及 powershell 脚本“ResetWindowsSearchBox.ps1”的内容。
如果安装了 Windows 10 2019 年 5 月更新或更高版本,请使用 Windows PowerShell 重置 Windows Search。为此,请按照以下步骤操作。
笔记您必须具有管理员权限才能运行此脚本。
- 单击下载按钮并保存重置WindowsSearchBox.ps1到本地文件夹。
- 右键单击保存的文件,然后选择“使用 PowerShell 运行”。
- 如果有人询问您“您是否允许此应用更改您的设备?”,请选择“是”。
- PowerShell 脚本将重置 Windows 搜索功能。当出现“完成”字样时,关闭 PowerShell 窗口。
如果收到“无法加载,因为此系统上已禁用运行脚本”错误消息,请在 PowerShell 窗口的命令行中输入以下命令,然后按 Enter:
Get-ExecutionPolicy
笔记当前策略将显示在窗口中。例如,您可能会看到“受限”。我们建议您记下此值,因为您稍后会用到它。
在 PowerShell 窗口的命令行中输入以下命令,然后按 Enter:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
笔记您将收到一条警告消息,说明执行策略更改的安全风险。按 Y,然后按 Enter 接受更改。要了解有关 PowerShell 执行策略的详细信息,请参阅关于执行策略。
- 策略更改完成后,关闭窗口,然后重复步骤 2-4。但是,当这次出现“完成”消息时,请不要关闭 PowerShell 窗口。而是按任意键继续。
恢复到以前的 PowerShell 执行策略设置。为此,请在 PowerShell 窗口的命令行中输入以下命令,按空格键,输入您在步骤 5 中记下的策略值,然后按 Enter:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy
例如,如果您在步骤 5 中记下的策略为“受限”,则命令将类似于以下内容:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Restricted
笔记您将收到一条警告消息,其中说明执行策略更改的安全风险。按 Y,然后按 Enter 接受更改并恢复到以前的策略设置。
- 关闭 PowerShell 窗口。
[10. 重启电脑]¹
笔记如果您的组织已禁用运行脚本的功能,请联系您的管理员寻求帮助。
¹ 添加了步骤 10,因为此修复直到我重新启动后才生效。
重置WindowsSearchBox.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
答案2
我设法通过运行 Windows 10 设置来恢复搜索功能,该设置可以通过 Microsoft 的 Media Creation Tool 下载,该工具可从以下网址获得本网站. 还提到这篇 Reddit 帖子、创建系统还原点前运行该设置以防过程中出现任何问题。宁可安全,也不要后悔。
我恢复系统的步骤如下:
- 下载并运行媒体创作工具。
- 选择“为另一台电脑创建安装媒体”,然后按“下一步”按钮。
- 勾选“为此电脑使用推荐的选项”复选框(如果尚未勾选)并按“下一步”按钮。
- 选择“ISO文件”并按“下一步”按钮。
- 提供保存 ISO 文件的路径并确认。
- 等待下载完成。下载完成后,前往下载位置。
- 右键单击 ISO 文件并按“挂载”。Windows 资源管理器应切换到已挂载的驱动器,其中包含
setup.exe
. - 跑步
setup.exe
。 - 在继续操作之前,请确定是否要下载并安装所有可用的 Windows 更新。我决定更新,这也被标记为推荐选项。按“下一步”。
- 如果安装程序询问您保留哪些文件,请选择保留文件和已安装应用程序的选项。
- 等待设置完成。在此过程中,您的计算机将至少重新启动一次。
- (可选)卸载任何您不想安装的预装应用程序。
答案3
人们(包括我)在出于各种原因尝试删除 Cortana 时似乎都会遇到此问题。如果上述解决方案均不起作用,并且您正在考虑使用 Windows 10 媒体创建工具执行就地升级修复,您可能首先想尝试一下。
- 打开管理员中的命令提示符模式,通过执行文件目录:\Windows\System32\cmd.exe。无论你如何打开它都没关系。
- 然后输入证监会/扫描并击中进入。
扫描 Windows 中所有损坏或丢失的文件需要 10-20 分钟,具体取决于您的机器。每次我做了一些愚蠢的事情并需要修复系统文件时,它都会起作用。比下载 10GB 的 MediaTool 并在其中运行类似程序要好。