mez*_*ker 8 search windows-search windows-10
当我尝试访问 Windows 10 搜索功能时(通过单击任务栏中的栏或开始在开始菜单中键入),没有任何反应;搜索“窗口”不会弹出。
我自己调查了一下,发现有几点可能会导致这个问题:
gpedit.msc,影响 Cortana 和 Windows 搜索。将这些策略重置为默认值(“未配置”)并重新启动后,没有明显的变化。Cortana 所在的目录C:\Windows\SystemApps不存在。这也意味着命名的文件SearchUI.exe不存在,因为它应该包含在该文件夹中。任务管理器既不显示SearchUI.exeCortana的运行进程,也不显示 Cortana的运行进程。尝试使用以下命令在提升的 PowerShell 实例中重新安装所有出厂设置的系统应用程序时
Get-AppXPackage | Foreach {Add-AppXPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"
Run Code Online (Sandbox Code Playgroud)
(在此处找到)重新安装了除 Cortana 之外的所有应用程序。执行时Get-AppXPackage *cortana*,没有找到或输出包,但例如Get-AppXPackage *edge*产生结果。
我想关键错误是SearchUI.exe(实际上,整个剩余的 Cortana 目录)从系统中丢失了。即使在运行 Windows 更新并安装所有可用更新后,问题仍然存在。
有什么办法可以将搜索功能恢复到应有的状态吗?
操作系统: Windows 10 Pro x64(内部版本 14393.187)
小智 5
Microsoft 提供了一种通过 powershell 脚本重置 Windows 搜索的解决方案,以及在此处“重置 Windows 搜索”下找到的一组步骤。我在下面包含了 powershell 脚本“ResetWindowsSearchBox.ps1”的步骤和内容。
如果安装了 Windows 10 May 2019 更新或更高版本的更新,请使用 Windows PowerShell 重置 Windows 搜索。为此,请按照下列步骤操作。
注意您必须具有管理员权限才能运行此脚本。
- 单击下载按钮并将ResetWindowsSearchBox.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 步中记下的策略是 Restricted,则该命令将类似于以下内容:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Restricted注意您将收到一条警告消息,解释执行策略更改的安全风险。按 Y,然后按 Enter 接受更改并恢复到以前的策略设置。
- 关闭 PowerShell 窗口。
[10. 重启电脑]¹
注意如果您的组织已禁用运行脚本的功能,请联系您的管理员寻求帮助。
¹ 添加了第 10 步,因为此修复在我重新启动后才生效。
# 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
Run Code Online (Sandbox Code Playgroud)
我设法通过运行 Windows 10 安装程序来恢复搜索功能,该安装程序可以通过 Microsoft 的媒体创建工具下载,该工具可以从该网站获取。正如这篇 Reddit 帖子中也提到的,在运行该设置之前创建一个系统还原点,以防过程中出现任何问题。与其遗憾,不如安全。
我恢复系统的步骤是:
setup.exe.setup.exe。| 归档时间: |
|
| 查看次数: |
32003 次 |
| 最近记录: |