Execute o comando promt processa asnyc e obtém o resultado

Preciso executar o processo commandpromt assíncrono e obter a saída da execução. atualmente tenho esse código

Public Function ExecuteCommandSync(ByVal command As Object) As String
    Dim result As String = Nothing
    Try
        Dim procStartInfo As New System.Diagnostics.ProcessStartInfo("cmd", "/c " & Convert.ToString(command))
        procStartInfo.RedirectStandardOutput = True
        procStartInfo.UseShellExecute = False
        procStartInfo.CreateNoWindow = True
        Dim proc As New System.Diagnostics.Process()
        proc.StartInfo = procStartInfo
        proc.Start()
        result = proc.StandardOutput.ReadToEnd()
        Console.WriteLine(result)
    Catch objException As Exception
    End Try
    Return result
End Function

Por favor me ajude a converter isso em assíncrono sem usar um thread. isso é possível?

obrigad