解:(I)函数定义域为x>0,且f′(x)=2x-(a+2)x+

=

…(2分)
①当a≤0,即

时,令f'(x)<0,得0<x<1,函数f(x)的单调递减区间为(0,1),
令f'(x)>0,得x>1,函数f(x)的单调递增区间为(1,+∞).
②当

,即0<a<2时,令f'(x)>0,得

或x>1,
函数f(x)的单调递增区间为

,(1,+∞).
令f'(x)<0,得

,函数f(x)的单调递减区间为

.
③当

,即a=2时,f'(x)≥0恒成立,函数f(x)的单调递增区间为(0,+∞).…(7分)
(Ⅱ)①当a≤0时,由(Ⅰ)可知,函数f(x)的单调递减区间为(0,1),f(x)在(1,2]单调递增.
所以f(x)在(0,2]上的最小值为f(1)=a+1,
由于

,
要使f(x)在(0,2]上有且只有一个零点,
需满足f(1)=0或

解得a=-1或a<-

.
②当0<a≤2时,由(Ⅰ)可知,
(ⅰ)当a=2时,函数f(x)在(0,2]上单调递增;
且

,所以f(x)在(0,2]上有且只有一个零点.
(ⅱ)当0<a<2时,函数f(x)在

上单调递减,在(1,2]上单调递增;
又因为f(1)=a+1>0,所以当

时,总有f(x)>0.
因为e

<1<a+2,
所以f(e

)=e

[e

-(a+2)]+(alne

+2a+2)<0.
所以在区间(0,

)内必有零点.又因为f(x)在(0,

)内单调递增,
从而当0<a≤2时,f(x)在(0,2]上有且只有一个零点.
综上所述,0<a≤2或a<-

或a=-1时,f(x)在(0,2]上有且只有一个零点.…(13分)
分析:(I)先求函数的定义域再求函数的导数,当导数大于0时函数单调递增,当导数小于0时单调递减.
(II)此题考查的是函数的零点存在问题.在解答的过程当中要先结合函数f(x)在区间(0,2]内有且只有一个零点的条件,结合(I)中确定函数的增减区间,求出函数的极小值和极大值,再转化出不等关系,利用此不等关系即可获得问题的解答.
点评:此题考查的是利用导数研究函数的单调性,函数的零点存在问题.在解答的过程当中充分体现了等价转化的思想,以及零点定理的相关知识.值得同学们体会反思.