/script i=1;m=0;while(UnitBuff("target",i)~=nil) do
if(strfind(UnitBuff("target",i),"XXXXX")~=nil) then m=1; end;i=i+1;end; c=CastSpellByName;
if(m==1) then c("Aspect of the Hawk");
You must replace XXXXX by Aspect of the Hawk icon name.
Use the script below while targeting yourself and while having the Aspect active to get the icon name :
/script i=1; while UnitBuff("target",i)~=nil do DEFAULT_CHAT_FRAME:AddMessage(UnitBuff("target",i));
i=i+1; end
Haven't tested this myself, but it should work, according to
http://www.wowwiki.com/Useful_macros_%281.0%29