The Astros will make a corresponding roster move after he reports to Houston on Monday, officials said.
Maxwell spent the 2011 season at Triple A Scranton/Wilkes-Barre in the Yankees' system, hitting .260 with 16 home runs and 31 RBI.
He played in 27 games for the Yankees this spring, hitting .310 with 11 RBI before he was designated for assignment Wednesday.
Maxwell, 28, has appeared in 122 MLB games in his career and has played all three outfield positions as a major leaguer, including 57 games in center field.
With the acquisition of Maxwell, the Astros' 40-man roster now stands at 39.