Ulrich's first coaching position was head coach of Karlsruher SC where he was head coach from 26 April 1986 to the end of the season. The stint was for four matches where he won a match, drew a match and lost two. He then became an assistant coach three years later between July 1989 and June 1990 for Kalrsruhe. His next head coaching job was at SSV Ulm 1846 which started on 1 July 1994 and lasted for a season. He won 20 league matches, collected 45 points, and got to the second round of the 1994–95 DFB-Pokal. He went on to become head coach of Bayern Munichreserve team between 1 July 1995 and 30 June 1998. He returned to Karlsruhe as their head coach between 26 August 1998 and 15 October 1999. He then took over at VfR Mannheim after Günter Sebert was sacked on 8 March 2001. On 22 March 2002, Mannheim announced that Ulrich would leave the club after the season and was replaced by Frank Wormuth. Ulrich's final match was a 3–2 win against Eintracht Trier on 18 May 2002. He then became head coach of 1. FC Schweinfurt 05 on 19 July 2004. The results for Schweinfurt were annulled after they went bankrupt. He left Schweinfurt to return to Mannheim on 7 February 2005. He signed a contract to the end of the season. He eventually extended his contract and stayed until the end of the 2005–06 season. During the 2005–06 season, on 27 April 2006, it was announced that Ulrich would become head coach of FC Nöttingen after the season. His last match in charge was a 3–1 win against Nöttingen on 27 May 2006. He left Nöttingen on 4 January 2007. He then became head coach of SC Fürstenfeldbruck on 15 January 2007 and was there until 17 April 2007 when Mannheim hired Ulrich as head coach for the third time. Ulrich was replaced by Dieter Heimen in June 2007. On 18 June 2009, Bayern announced that Ulrich was an assistant coach for Mehmet Scholl. He became head coach of Bayern Munich II from 12 April 2011 to 9 June 2011 when Andries Jonker took over. He returned to his position as assistant coach of the reserve team.