Windows 10の検索機能にアクセスしようとすると(タスクバーのバーをクリックするか、スタートメニューに入力し始めます)、何も起こりません。検索「ウィンドウ」はポップアップしません。
私は自分で調査し、この問題を引き起こす可能性のあるいくつかのポイントを見つけました:
gpedit.msc
を介して変更されました。これらのポリシーをデフォルト値(「未構成」)にリセットして再起動した後、変更は目立ちません。C:\Windows\SystemApps
のCortanaのディレクトリは存在しません。これは、SearchUI.exe
という名前のファイルがそのフォルダーに含まれている必要があるため、存在しないことも意味します。タスクマネージャーには、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を実行して利用可能なすべての更新プログラムをインストールした後でも、問題は解決しません。
検索機能を本来の状態に戻す方法はありますか?
OS:Windows 10 Pro x64(ビルド14393.187)
このWebサイト から入手できるMicrosoftのMedia Creation ToolからダウンロードできるWindows 10セットアップを実行して、検索機能を復元することができました。 このRedditの投稿 でも言及されているように、システムの復元ポイントを作成する前に何か問題が発生した場合に備えて、そのセットアップを実行します処理する。申し訳ありませんが安全です。
システムを復元するために行った手順は次のとおりです。
setup.exe
を含むマウントされたドライブに切り替える必要があります。setup.exe
を実行します。マイクロソフトは、Powershellスクリプトを介してWindows検索をリセットするソリューションと、「Windows検索のリセット」の下にある一連の手順 here を提供しました。手順と、Powershellスクリプト「ResetWindowsSearchBox.ps1」の内容を以下に含めます。
Windows 10 May 2019 Update以降のアップデートがインストールされている場合は、Windows PowerShellを使用してWindows Searchをリセットします。これを行うには、次の手順に従います。
注このスクリプトを実行するには、管理者権限が必要です。
- [ダウンロード]ボタンをクリックして、 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でメモしたポリシーが制限付きの場合、コマンドは次のようになります。
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Restricted
注実行ポリシーの変更によるセキュリティ上のリスクを説明する警告メッセージが表示されます。 Yキーを押してからEnterキーを押して変更を受け入れ、以前のポリシー設定に戻します。
- PowerShellウィンドウを閉じます。
[10。 PCを再起動]¹
注組織がスクリプトを実行する機能を無効にしている場合は、管理者にお問い合わせください。
thisこの修正は再起動するまで有効にならなかったため、手順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