1637年(崇祯十年),清兵逼近
山西,他从当地招募民军3万,分19营,朝夕训练。清军见临漳防守严密,没有轻易进击。因领土的保全,他受到崇祯皇帝在中左门的召见,并晋升为山西道御史。
1639年(崇祯十二年),运河干涸,京城主要运输线中断,粮食奇缺,满朝文武惊慌失措,百姓怨声载道,他被派疏通漕运。时清兵已逼近京师,他不顾个人安危,来往巡视在千里河道上,对整个工程和民工生活都做了周密计划和安排,使运河很快疏通。
到任后。了解到三秦财力、物力已极端虚弱,采用了重刑治陕方略,先拿胡作非为的大吏开刀,又把贪污腐败的西安、咸阳两县令撤掉,对于他的行动,有人出面威胁,但他毫不畏惧。当军队的个别将领也想要挟他时,他迅速逮捕了制台,制止了军队混乱。鉴于当地群众生活极为困难,他果断地开仓济民,使陕西得到短暂的平稳。
崇祯见他治陕有方,遂越级提拔他为佥都御史。1642年,李自成攻占了开封,矛头直指京城。明朝大将左良玉兵溃,傅宗龙、汪乔年等督师兵败身亡。总兵贺人龙被击溃后,带领数百人流窜入陕,勾结地方劣绅,强劫财物,杀害平民。时任巡抚的他见贺人龙猖獗,设计哄骗贺人龙到军中,席间趁机将其处死。1642年(崇祯十五年)秋,他见明亡已成定局,加之六旬高龄,无力报效朝廷,遂以年迈有病为由辞职休养,获准后返回家乡。
他刚刚回到家乡潍县,清军就由河北进攻到了山东。1642年12月15日,兵临潍县城下。他和胡振奇、周亮工等人,号召潍城军民誓死守城,并自报奋勇扼守北城,冒箭雨在城墙上来往指挥,击退了清兵一次又一次的进攻。中午,北城被攻破了一道口子,他率部击退清军。抢修城墙时,他儿子不幸掉到城下,有人要开城门搭救,他厉声喝住:“为了保卫城池,落城下者不止一人,只因我儿就该开门救援吗?”他的行动,极大鼓舞了守城军民的斗志,终于击退清兵,保卫了潍城。