KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12
System : Windows NT SERVER-PC 10.0 build 26200 (Windows 11) AMD64
User : ServerPC ( 0)
PHP Version : 8.2.12
Disable Function : NONE
Directory :  C:/Windows/diagnostics/system/Search/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : C:/Windows/diagnostics/system/Search/RS_ResetWindowsSearchApp.ps1
# Copyright © 2019, Microsoft Corporation. All rights reserved.

# Restart the Windows Search App

# Load utility library
. .\CL_Utility.ps1

function Kill-Process {
    [CmdletBinding()]
    Param(
        [String] $processName
    )

    # Get initial searchui
    $processList = Get-Process $processName -ErrorAction SilentlyContinue

    # Setup Timer
    $startTime = $(get-date).AddSeconds(30)
    $currentTime = $(get-date)

    # While the timeout hasn't been hit
    while ((($startTime - $currentTime) -gt 0) -and $processList) {
        $currentTime = $(get-date)

        $processList = Get-Process $processName -ErrorAction SilentlyContinue
        if ($processList) {
            $processList.CloseMainWindow() | Out-Null
            Stop-Process -Id $processList.Id -Force
        }

        $processList = Get-Process $processName -ErrorAction SilentlyContinue
    }
}

function Delete-FilesInFolder {
    [CmdletBinding()]
    Param(
        [string[]] $folderNames
    )

    foreach ($folder in $folderNames) {
        if (Test-Path -Path $folder) {
            Remove-Item -Recurse -Force $folder -ErrorAction SilentlyContinue
        }
    }
}

function Delete-WindowsSearchCache {
    [CmdletBinding()]
    Param(
        [String] $processName
    )
	
	if ($processName -eq "searchapp") {
		$folderNames = @("$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")

		Delete-FilesInFolder $folderNames
		return (Test-Path -Path "$Env:localappdata\Packages\Microsoft.Windows.Search_cw5n1h2txyewy\AC\INetCache")
	}
	else {
		$folderNames = @("$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")

		Delete-FilesInFolder $folderNames
		return (Test-Path -Path "$Env:localappdata\Packages\Microsoft.Windows.Cortana_cw5n1h2txyewy\AC\INetCache")
	}
}

function ResetAndLaunch-SearchApp {
    [CmdletBinding()]
    Param(
        [String] $processName
    )

    Kill-Process $processName 
    $return = Delete-WindowsSearchCache $processName
    Kill-Process $processName 
	return $return
 }
 
Write-DiagProgress -activity $localizationString.progress_rs_restoreSearchApp

# Set Environment Variables
$searchAppProcess = "searchui"
$searchPackageName = "$Env:localappdata\Packages\Microsoft.Windows.Search_cw5n1h2txyewy"

if (Test-Path -Path $searchPackageName) {
    $searchAppProcess = "searchapp"
} 

$result = ResetAndLaunch-SearchApp $searchAppProcess

# Returning Error back to the troubleshooter
if ($result) {
    Update-DiagRootCause -Id "RC_ResetWindowsSearchApp" -Detected $false
    return $true
} else {
    Update-DiagRootCause -Id "RC_ResetWindowsSearchApp" -Detected $true
    return $false
}

Anon7 - 2021