Shamkhani served as the commander of the IRGC navy with the rank of rear admiral. Later he also commanded the Artesh navy in addition to the IRGC navy. He was appointed the Minister of Revolutionary Guards in 1988.He held the post of the minister of defense from August 1997 until August 2005 in the government of Mohammad Khatami.Shamkani was replaced by Mostafa Mohammad-Najjar in the post. Shamkhani also ran for office in the 2001 presidential elections.