SQL Server Core - Installed SQL Server features When using a traditional installation of SQL Server one has the Installed SQL Server features discovery report.

Googled and found no info if some equivalent was available for the core installation. It outputs to HTML so that is another reason why I believe it is not available (though one could still type its text).

So basically, I'd like to know if there is an equivalent on the core version, or what powershell (or command line) could be run to get the same info (version, installed features)?
One way of doing that would be to query the registry location containing all currently installed programs and then filter out all that do not contain SQL SERVER in the name.

$array = @()

$computername="MachineName"

#Define the variable to hold the location of Currently Installed Programs

$UninstallKey="SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall" 

#Create an instance of the Registry Object and open the HKLM base key

$reg=[microsoft.win32.registrykey]::OpenRemoteBaseKey('LocalMachine',$computername) 

#Drill down into the Uninstall key using the OpenSubKey Method

$regkey=$reg.OpenSubKey($UninstallKey) 

#Retrieve an array of string that contain all the subkey names

$subkeys=$regkey.GetSubKeyNames() 

#Open each Subkey and use GetValue Method to return the required values for each

foreach($key in $subkeys){

    $thisKey=$UninstallKey+"\\"+$key 

    $thisSubKey=$reg.OpenSubKey($thisKey) 

    $obj = New-Object PSObject

    $obj | Add-Member -MemberType NoteProperty -Name "ComputerName" -Value $computername

    $obj | Add-Member -MemberType NoteProperty -Name "DisplayName" -Value $($thisSubKey.GetValue("DisplayName"))

    $obj | Add-Member -MemberType NoteProperty -Name "DisplayVersion" -Value $($thisSubKey.GetValue("DisplayVersion"))

    $obj | Add-Member -MemberType NoteProperty -Name "InstallLocation" -Value $($thisSubKey.GetValue("InstallLocation"))

    $obj | Add-Member -MemberType NoteProperty -Name "Publisher" -Value $($thisSubKey.GetValue("Publisher"))

    $array += $obj

} 


$array | Where-Object { $_.DisplayName -like "*SQL SERVER*" } | select ComputerName, DisplayName, DisplayVersion, Publisher | ft -auto


This script was taken from the Hey, Scripting Guy! Blog and I modified to include -like "*SQL SERVER*" and also removed the loop through multiple computers. There may be an easier way. I hope this helps.