Pets sometimes feel the urge to urinate on your heat vents, which can result in your entire house smelling of urine. You can rectify this with some wire pads, dish detergent, and elbow grease. You will have to pop the heat vent cover off the vent and wash it down thoroughly as well as going into the vent itself to scrub the vent walls.
Water and Detergent
A thorough scrubbing with water and detergent can get the smell off the heat vent covers. Your dish detergent is designed to lift stain off the surface of plates and works equally well on the metal vent covers. Use a disposable scrub pad and get inside the vent ridges so there is no area that the urine stain could survive.
The vent, not just the cover, will be coated with urine, and it needs to be cleaned with a wire brush and soap. The wire brush helps scrape the urine stain off the metal surface and get the detergent solution into the stain. Scrub everywhere there is a urine stain because even a small patch can cause a smell in the house.
Hydrogen peroxide is a powerful disinfectant and can kill the bacteria that contribute to the urine smell. By using hydrogen peroxide on the urine stain after the initial cleaning you can disinfect any remaining microbes. This will cause a peroxide smell for a while but it will go away after a day whereas the urine smell could grow over time as the microbes breed.
Coating the former urine stain with vinegar will help clean any residual stain as well as mask any remaining smell. The vinegar will also help prevent the pets from urinating in that spot again as it masks the ammonia smell of urine that would signal a possible urination spot.