You can try the below query to get list of tables with partitions. Here, every table will have atleast one partition. So, partition number is 1-based partition number within the owning index or heap. For non-partitioned tables and indexes, the value of this column is 1. For partitioned number >1 means, it is either partitioned table or index. We are applying object property to check whether the object is indeed a table.
SELECT DISTINCT OBJECT_NAME([object_id]) FROM sys.partitions
WHERE partition_number > 1
AND OBJECTPROPERTY([object_id],'IsTable') = 1