aver... primero de todo, cuando regañas al perro, no es la forma correcta cerrarle la boca con la mano, ni con nada, así que olvida de usar eso, porque como veras, lleva conflicto, entre tu perro y tú. Uno siempre tiene que tratar de no generar conflicto entre amo y perro, porque si llegan a una "pulseada", tenes que ganar si o si, sino el perro te tomo el tiempo y sabe como hacerte frente, un claro ejemplo es cuando te gruñe cuando vas a aplicar tu castigo.
Y con el tema del conflicto que tiene con otros perros, puede ser por la mala experiencia de schnauzar, esta siempre a la defensiva. Lo que se me ocurre es que te tomes el tiempo de llevarlo a la plaza donde se juntan perros buenitos, y trata que empiece hacerse amigos con ellos, cosa que valla calmando. Cuando ves que esta mas tranquilo, y en usos segundos donde veas que esta calmadito, lo felicitas.
Lo mas importante es que no enfrentes al perro cuando hace una travesura, ya que, primero, no vas a remediar la conducta del can, y segundo, generas conflicto entre ustedes.