Wiktionary
rake someone over the coals
vb. (context chiefly US English) To berate someone at length, usually from a position of authority or moral authority.