建安十二年(207年)二月,曹操从淳于返回邺城,然后上奏献帝并得到批准,封赏功臣二十余人,都为列侯。之后,他又上表称赞万岁亭侯荀彧的功劳,并为了为表彰荀彧,三月在他原来侯国封户的基础上,又增加一千户。不仅如此,曹操还准备任命荀彧为三公,荀彧派荀攸恳切地表达自己的辞让之意,先后达到十余次,曹操才同意。
此前,曹操攻打乌桓只是将对方打败,现在他想出兵征讨乌桓,将对方的有生力量彻底消灭。明面上的理由则是袁尚和袁熙躲在乌桓部落,如果不将他们消灭,很有可能之后会卷土重来。但是,曹军中的将领们都说:“袁尚只不过是个逃亡罪犯,乌桓人贪得无厌而不念旧情,岂能受袁尚利用。如今大军深入塞外征乌桓,刘备必然劝说刘表乘虚袭击许都,万一发生变化,事情就后悔不及了。”
对此,荀彧说:“您虽然威震天下,但乌桓人倚仗距离遥远,一定不会预先防备,乘其不备,突然袭击,可以一战告捷。况且,袁绍对这一地区的百姓以及塞外的异族有恩德,而袁尚兄弟现在还活在世上。如今冀、青、幽、并四州的百姓,只是因畏惧而服从我们,并没有受过我们的恩德。如果我们离开这里而率军南征,袁尚利用乌桓的武力作资本,招集愿为恩主效死的部属,乌桓人一动,四州的百姓及异族都会纷纷响应,这会使蹋顿动心,生出非分的打算,恐怕青州与冀州就不会再在您的控制下了。刘表不过是个只会坐在那里发议论的人,他自知才干不能驾御住刘备,重用刘备则害怕控制不住,轻用则刘备不会为他所用。因此,即使我们调走全国兵力远征,您也不必担扰。”
曹操听从了荀彧的意见,决定出兵。大军行进到易县,手下有谋士提议说:“兵贵神速,如今远涉千里进行奇袭,辎重太多,难以掌握先机。而且假如乌桓人得到消息,必然加强戒备;不如留下辎重,军队轻装以加倍的速度急进,出其不意地进攻。”
而这时候,曹操想起了当地的名士田畴,他原本是幽州牧刘虞的从事。刘虞死后,田畴就过起了隐居的生活。曹操想到,有当地名士的帮助,对他平定北方肯定大有裨益,于是派人前去征召他出来做官。
说起这个田畴,袁绍活着的时候也几次派使者到无终县去召田畴,又派人授予田畴将军的印信,让田畴召抚所统部众为自己效力,田畴都拒绝了。到曹操平定冀州后,河间人邢颙对田畴说:“黄巾军起事以来,已二十多年,天下动荡不定,百姓流离失所。如今,听说曹公法令严明,百姓对战乱已经厌恶,乱到极点,就会归于平静,请让我先去试探一下。”于是,邢颙收拾行装,返回家乡。曹操听说邢颙回乡,就委任他为冀州从事。