部分 Win10 使用者開機時會遇到 rsdefense.exe - 應用程式錯誤 視窗,提示「指令碼於 0xXXXXXXXX 參考了 0xXXXXXXXX 記憶體,記憶體無法為 read」。這通常是因為系統啟動項中殘留了已卸載或損壞的 RS Defense (某些安全/優化軟體元件) 相關登錄項目,導致 Windows 嘗試載入不存在的執行檔。本文提供徹底清除步驟:停用啟動項 + 登錄搜尋刪除 + 驗證。
rsdefense.exe。rsdefense.exe (通常在 C:\Program Files\ 或 C:\Program Files (x86)\ 下)。
3. 或執行 Win+R → msconfig → 啟動 → 開啟工作管理器 同樣操作。
regedit → 開啟登錄編輯器。
3. 逐項檢視搜尋結果,常見位置:
HKCU\Software\Microsoft\Windows\CurrentVersion\RunHKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunHKCU\Software\Microsoft\Windows\CurrentVersion\RunOnceHKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceHKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run (32 位程式於 64 位系統)HKCU\Software\Classes\Applications\rsdefense.exeHKLM\SOFTWARE\Classes\Applications\rsdefense.exeHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks\{GUID} 中的 Actions 路徑Run 下的字串值 → 右鍵值名稱 → 刪除。Applications\rsdefense.exe) → 右鍵鍵名稱 → 刪除。
5. 按 F3 繼續搜尋下一個,直到提示「搜尋完成」。
6. 同樣尋 rsdefense (無 .exe) 以清除相關殘留鍵值。
taskschd.msc → 工作排程器程式庫 → 搜尋含 rsdefense 的任務 → 右鍵 停用 或 刪除。Get-ScheduledTask | Where-Object {$_.Actions.Execute -like '*rsdefense*'} | Disable-ScheduledTaskregedit 搜尋 rsdefense,應無結果。
# 需管理員權限
$term = 'rsdefense'
# 1. 停用啟動項 (Run/RunOnce)
$runPaths = @(
'HKCU:\Software\Microsoft\Windows\CurrentVersion\Run',
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run',
'HKCU:\Software\Microsoft\Windows\CurrentVersion\RunOnce',
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce',
'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run'
)
$runPaths | ForEach-Object {
if (Test-Path $_) {
Get-ItemProperty $_ | ForEach-Object {
$_.PSObject.Properties | Where-Object {$_.Name -notmatch '^PS' -and $_.Value -like "*$term*"} | ForEach-Object {
Remove-ItemProperty -Path $_ -Name $_.Name -Force -ErrorAction SilentlyContinue
Write-Host "已刪除啟動項: $_ \ $($_.Name)"
}
}
}
}
# 2. 刪除 Applications 子鍵
@('HKCU:\Software\Classes\Applications', 'HKLM:\SOFTWARE\Classes\Applications', 'HKLM:\SOFTWARE\WOW6432Node\Classes\Applications') | ForEach-Object {
$key = Join-Path $_ $term+'.exe'
if (Test-Path $key) { Remove-Item $key -Recurse -Force -ErrorAction SilentlyContinue; Write-Host "已刪除鍵: $key" }
}
# 3. 停用相關排程任務
Get-ScheduledTask -ErrorAction SilentlyContinue | Where-Object {$_.Actions.Execute -like "*$term*"} | ForEach-Object {
Disable-ScheduledTask -TaskName $_.TaskName -TaskPath $_.TaskPath -ErrorAction SilentlyContinue
Write-Host "已停用排程任務: $($_.TaskPath)$($_.TaskName)"
}
Write-Host "清理完成,建議重新開機驗證。"
# 檢查啟動項是否殘留
Get-CimInstance Win32_StartupCommand | Where-Object {$_.Command -like '*rsdefense*'} | Select-Object Name, Command, Location, User
# 檢查登錄
'Run','RunOnce' | ForEach-Object {
Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\$_" -ErrorAction SilentlyContinue
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\$_" -ErrorAction SilentlyContinue
} | Where-Object {$_.PSObject.Properties.Value -like '*rsdefense*'}
依循「停用啟動項 → 登錄全文搜尋刪除 → 排程器檢查 → 重啟驗證」四步驟,即可徹底根除 rsdefense.exe 開機錯誤,恢復乾淨的開機體驗。建議將此流程納入系統維護 SOP,遇到類似殘留啟動項錯誤皆可套用。