sp_MSforeachdb is indeed a cursor, and not a particularly good one.
Still, it exists, and it's useful for quick-and-dirty tasks sometimes, particularly if you don't have a lot of dbs.
So, I'll offer a version for it:
CREATE TABLE #t_nodb (
EXEC sp_MSforeachdb '
IF ''?'' IN (''tempDB'') -- IN (''master'', ''model'', ''msdb'', ''tempdb'')
INSERT INTO #t_nodb
NOT EXISTS(SELECT 1 FROM [?].sys.extended_properties)
ORDER BY dbname
DROP TABLE #t_nodb
SQL DBA,SQL Server MVP(07, 08, 09) Prosecutor James Blackburn, in closing argument in the Fatal Vision murders trial:
If in the future, you should cry a tear, cry one for them [the murder victims]. If in the future, you should say a prayer, say one for them. And if in the future, you should light a candle, light one for them.