The Afghanistan Cricket Board has made these changes following the team's winless World Cup campaign that saw them finish at the bottom of the points table.
Rashid will replace Gulbadin Naib, who led Afghanistan during their lackluster tournament campaign where his tactical blunders and insipid captaincy on the field attracted criticism.
ACB had abruptly sacked Asghar as skipper of the side right before the World Cup sparking condemnations from several teammates.
ACB Chairman @AzizullahFazli announced today that All-rounder @rashidkhan_19 has been appointed as team Afghanistan’s new captain across all three formats replacing @GbNaib while Asghar Afghan will serve as the Vice-captain.— Afghanistan Cricket Board (@ACBofficials) July 12, 2019
Read more: https://t.co/UF7MZgdcnj pic.twitter.com/w3SYvEAHiW
The last-minute leadership change did little to help Afghanistan's fortunes as the World Cup was riddled with controversies ranging from Mohammad Shahzad's alleged forced exclusion from the squad to Aftab Alam being sent home in disgrace for disciplinary issues.
Rashid will take over captaincy duties from Rahmat Shah in the longest format despite the middle-order batsman not leading his side in a single Test match.
Meanwhile, Rashid failed to shine on the global stage as he could manage just six wickets across nine games at an average of 69.33 including the most expensive bowling figures recorded by a spinner in the encounter against England.
Rashid had previously led his team in the 2018 World Cup Qualifiers when he became the youngest ever player to captain an international side after being chosen to skipper Afghanistan in the absence of the injured Asghar.
The leg-spinner's captaincy stint began poorly as Afghanistan slumped to defeat in their opening three games before he finally achieved success in the subsequent match.
Rashid's first assignment as captain will come against Bangladesh in the one-off Test match in September before his team participates in the tri-series involving hosts Bangladesh and Zimbabwe.
Afghanistan will then host the West Indies in India for a full-fledged series comprising of three T20Is, three ODIs and a one-off Test from November 5 to December 1.