Husk, 88 7 bytes
≤⁰▲foEpḊ≤⁰▲mΠgp p Ḋ # get the list of divisorsprime factors of arg2; fo g # now filter them to include# onlygroup thoseequal thatones satisfy:together p # prime factors mΠ E # areand allmultiply thethem sametogether (soto it'sget athe prime power divisors); ▲ # get the maximum of whatever's left;these; ≤⁰ # is it ≤ arg1?