Angelo Mathews will take over as Test and ODI captain from Mahela Jayawardene for the home Test series against Bangladesh while Dinesh Chandimal will be his deputy but will lead the national side in the Twenty20 format.
Lasith Malinga has been named Sri Lanka's T20 vice-captain.
All appointments are for a period of 11 months.
Jayawardene was expected to step down from captaincy after the tour of Australia, and Mathews was tipped to take over.
The 20-man squad for the two-Test series starting on the 8th of March has several fresh faces and some notable absentees from the tour of Australia.
Thilan Samaraweera has been dropped, together with opener Tharanga Paranavitana and wicketkeeper Prasanna Jayawardene while Ajantha Mendis returns to the Test squad, having last played a Test in May 2011 against England.
The squad features four uncapped players, and six in all who are yet to play a Test: Batsmen Ashen Silva and Kithuruwan Vithanage, seamer Dushmantha Chameera, and offspinner Tharindu Kaushal are those yet to play international cricket.
Wicketkeeper-batsman Kushal Janith Perera and legspinning all-rounder Jeevan Mendis have played ODI cricket for Sri Lanka but not a Test.
Kumar Sangakkara's participation in the Test series is subject to his recovery from a fractured hand, an injury he suffered on the tour of Australia.