System.Diagnostics.Process.Start ne fonctionnera pas au démarrage lorsque compte utilisateur fourni

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

Question

J'ai une application vb.net 2008 qui est censé exécuter au démarrage. Après avoir rencontré certaines conditions, le PC est censé redémarrer. Voici le code qui échoue:

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

myusername et myDomain sont les deux chaînes en myPassword est un SecureString. L'application fonctionne correctement lorsque exécuter manuellement, mais donner l'erreur suivante lors de l'exécution de la mise en service (soit en plaçant dans le dossier de démarrage ou en ajoutant au Registre):

Le nom du répertoire est invalide

En outre, le programme exécute correctement lorsque les 3 derniers arguments sont laissés et l'utilisateur dispose des droits nécessaires.

Comment forcer un redémarrage à l'aide d'un spécifique, les informations d'identification d'utilisateur de remplacement au démarrage?

Était-ce utile?

La solution

You are starting the process with the current working directory as the default. That can cause problems if that directory isn't valid for the user you specify. Use the Process.Start(ProcessStartInfo) overload instead. Set the ProcessStartInfo.WorkingDirectory to a directory that's good for any user. Like c:\

More info in this KB article.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top