Frage

In einer Anwendung muß ich mit anderem Benutzer Anmeldeinformationen andere Programme auszuführen. Derzeit verwende ich System.Diagnostics.Process.Start , das Programm auszuführen:

public static Process Start(
   string fileName,
   string arguments,
   string userName,
   SecureString password,
   string domain
)

Allerdings ist diese Funktion nicht das Roaming-Profil aus dem Netz laden -. Die erforderlich ist,

kann ich „runas / profile ...“ verwenden, um das Profil zu laden und den Befehl ausführen, aber das wäre nach dem Passwort gefragt. Es muss eine elegantere Art und Weise sein ...

Aber wo?

War es hilfreich?

Andere Tipps

Meine Lösung (basierend auf leppie des Hinweises):

        Process p = new Process();

        p.StartInfo.FileName = textFilename.Text;
        p.StartInfo.Arguments = textArgument.Text;
        p.StartInfo.UserName = textUsername.Text;
        p.StartInfo.Domain = textDomain.Text;
        p.StartInfo.Password = securePassword.SecureText;

        p.StartInfo.LoadUserProfile = true;
        p.StartInfo.UseShellExecute = false;

        try {
            p.Start();
        } catch (Win32Exception ex) {
            MessageBox.Show("Error:\r\n" + ex.Message);
        }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top