Sharing the method that we have used to fix the missing feature errors that were coming in Health Analyzer, There was one more issue that was coming & got resolved automatically ones missing feature issue was fixed. (High CPU utilization during search crawl that happens daily)
Note down the feature id from the error & execute the below shell script to note down the site for which error is coming.
############################################
$SpSites=Get-SPSite -Limit ALL
$MissingFeatures = “<feature GUID>” # example: “38B538393-5C12-459B-B949-8990903603C”
foreach($SPSite in $SPSites) {
$SPSite.Features | Foreach-Object {
if($MissingFeatures -eq $_.DefinitionId) {
Write-Host $_.DefinitionId “`t” $SPSite.Url “`t” $SPSite.ContentDatabase.Name }
}
############################################
After you find the site & have confirmed that this feature is not used, you can use below shell liner to disable that feature.
disable-spfeature -identity “<feature GUID>” -confirm:$false -url $web.Url -FORCE
Now from Central administration when you will click Reanalyze now, error related to the missing feature will disappear.
Tech Wizard