Why not just query the geodatabases directly with SQL if you have the credentials for the SDE user? Here's an example of a query that can be used for an Oracle database (tested with 11.2.0.2.0 and ArcSDE 10.2.1):SELECT r.OWNER, r.TABLE_NAME,
CASE
WHEN r.OBJECT_FLAGS IN ('3','11','2051','4099','0','24583','8195') THEN 'TABLE'
WHEN r.OBJECT_FLAGS IN ('7','15','16391','16399','114693','114703') THEN 'FEATURE CLASS'
WHEN r.OBJECT_FLAGS IN ('71') THEN 'RASTER'
END OBJECT_FLAGS
FROM (
SELECT OWNER, TABLE_NAME, OBJECT_FLAGS
FROM SDE.TABLE_REGISTRY
ORDER BY OWNER, TABLE_NAME) r
FULL JOIN SDE.LAYERS l ON l.OWNER = r.owner AND l.TABLE_NAME = r.TABLE_NAME;
You would run the query above in every database to get a report of the object classes that are registered with the geodatabase. It will identify whether the object class is a table, feature class, or raster. If you want to get fancy and you have Oracle, you can create DB links and UNION multiple queries together (one for each database) in order to run it against all databases at once. The query above would only require minor edits to work with SQL Server, as well. If you databases are all in the same instance, you could UNION multiple queries together just like with Oracle... except with SQL Server there are no DB links. Instead, you'd simply need to qualify your table references in the query above with DATABASE.SCHEMA.TABLE_NAME syntax.