The three-judge court formed by the government to try 70-year-old Musharraf on charges of high treason for imposing emergency in 2007 also rejected his plea to be allowed to go abroad for medical treatment.
However, Musharraf is unlikely to be held in custody because the court said he could get bail by submitting a surety of Rs 25 lakh.
The court's registrar read out the judgement, which was reserved earlier in the day after defence and prosecution lawyers completed their arguments. The court asked the Islamabad Police chief to implement its order.
Speaking to reporters outside the court, Musharraf's lawyer Faisal Chaudhry said: "We will study the order and if there is an illegality, we will challenge it."
He said the court had stated it does not have the power to remove Musharraf's name from the Interior Ministry's Exit Control List (ECL) as only a High Court can do this. Persons included in the ECL are barred from travelling abroad.
Musharraf was earlier granted bail in four major cases against him, including one over the 2007 assassination of former premier Benazir Bhutto.