Someone posted this a while ago
SELECT FG.groupid AS GroupID
, SUBSTRING(FG.groupname,1,30) AS FilegroupName
, SUBSTRING(O.name,1,30) AS ObjectName
, ix.indid, ix.name as indexname
, F.filename as FileNames
FROM sysobjects O
INNER JOIN sysindexes IX
ON O.id = IX.id
INNER JOIN sysfilegroups FG
ON IX.groupid = FG.groupid
INNER JOIN sysfiles F
on F.groupid = FG.groupid
-- WHERE O.xtype = 'U'
ORDER BY FG.groupname, O.ObjectName