山西乡试正考官。次年，外放扬州府知府，善于治狱，清理积案甚多，得到总督陶澍、巡抚林则徐赏识。署常镇通海道。九月，移任陕西督粮道。历官潼商道、山东按察使、山东布政使，入为光禄寺少卿。咸丰七年（1857年）擢湖南按察使，迁布政使。咸丰十年（1860年）升贵州巡抚，再迁云贵总督，以年老乞休。同治三年（1864年）卒，享年七十。