Se vuoi tenere questa tua soluzione, puoi utilizzare la classe Process di System.Diagnostics che ti permette di lanciare il comando e anche intercettarne l'output; per catturare i messaggi di errore.