The Frenchman took charge after the African Nations Cup in January - with his side now conceding just once in eight matches - and it never looked like losing its lead after Mehdi Carcela-Gonzalez's early opener in Marrakech.
Two Hakim Ziyech penalties moved Morocco out of sight, and, although Canada created a couple of clear chances, substitute Rachid Alioui's deflected effort capped a deserved home victory.
Morocco attacked its opponents from the off and led after 12 minutes.
Hamza Mendyl delivered from the left, and, after Youssef En-Nesyri missed his header at the near post, the ball fell for Carcela-Gonzalez to control and slam a finish into the bottom corner.
The host continued to come forward, passing the ball with real confidence as Ziyech fired wide at the end of a mazy run.
Canada goalkeeper Milan Borjan then saved well from Ziyech, before En-Nesyri's thump was blocked by David Edgar, and Borjan held from Fouad Chafik at the second attempt.
Morocco took a while to settle into the second period, and En-Nesyri's close-range effort was disallowed for offside when they finally did come forward.
However, in its next attack, Edgar caught the home forward with a stray arm to concede a penalty.
Ziyech stepped up to take the spot-kick and nonchalantly dinked into the net from 12 yards, and soon Morocco accelerated out of sight.
Ziyech slipped in Aziz Bouhaddouz, who fired straight at Borjan but then won a penalty as Manjrekar James followed his heavy touch with a crunching challenge.
With rather less flamboyance, Ziyech tucked away a second penalty, and Morocco's fourth arrived when Alioui's ferocious volley deflected into the corner off Edgar to complete the scoring.