System.Diagnostics.Process.Start funktioniert nicht im Start, wenn Sie ein Benutzerkonto geliefert haben

StackOverflow https://stackoverflow.com/questions/4854529

Frage

Ich habe eine VB.NET 2008 -Anwendung, die beim Start ausgeführt werden soll. Nachdem bestimmte Bedingungen erfüllt sind, soll der PC neu starten. Unten ist der Code, der fehlschlägt:

System.Diagnostics.Process.Start("shutdown", "-r -t 00 -f", myUsername, myPassword, myDomain)

Myusername und Mydomain sind beide Saiten, während MyPassword eine Sicherheit ist. Die Anwendung funktioniert ordnungsgemäß, wenn Sie manuell ausführen, geben jedoch den folgenden Fehler bei, wenn Sie aus dem Start ausgeführt werden (entweder durch Platzieren im Startordner oder durch Hinzufügen zur Registrierung):

Der Verzeichnisname ist ungültig

Außerdem wird das Programm ordnungsgemäß ausgeführt, wenn die letzten drei Argumente ausgelassen werden und der Benutzer über die erforderlichen Rechte verfügt.

Wie erzwinge ich einen Neustart mit einem bestimmten, alternativen Benutzeranmeldeinformationen beim Start?

War es hilfreich?

Lösung

Sie beginnen den Prozess mit dem aktuellen Arbeitsverzeichnis als Standard. Dies kann Probleme verursachen, wenn dieses Verzeichnis nicht für den von Ihnen angegebenen Benutzer gültig ist. Verwenden Sie stattdessen den Prozess. Legen Sie den ProcessStartInfo.WorkingDirectory auf ein Verzeichnis, das für jeden Benutzer gut ist. Wie c:

Weitere Informationen dazu KB -Artikel.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top