System.diagntics.process.star no funcionará en inicio cuando se suministre una cuenta de usuario

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

Pregunta

Tengo una aplicación VB.NET 2008 que se supone que se ejecuta en el inicio. Después de cumplir ciertas condiciones, se supone que la PC se reinicia. A continuación se muestra el código que está fallando:

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

MyUsername y MyDomain son cuerdas, mientras que MyPassword es una seguridad. La aplicación funciona correctamente cuando se ejecuta manualmente, pero dé el siguiente error cuando se ejecuta desde el inicio (ya sea colocando en la carpeta de inicio o agregando al registro):

El nombre del directorio no es válido

Además, el programa se ejecuta correctamente cuando los últimos 3 argumentos se dejan fuera y el usuario tiene los derechos necesarios.

¿Cómo forzo un reinicio usando un credencial de usuario alternativo específico en el inicio?

¿Fue útil?

Solución

Está comenzando el proceso con el directorio de trabajo actual como predeterminado. Eso puede causar problemas si ese directorio no es válido para el usuario que especifica. Use la sobrecarga Process.Start (ProcessStartInfo) en su lugar. Establezca el proceso de proceso queWorkingDirectory en un directorio que sea bueno para cualquier usuario. Como C:

Más información en esto Artículo de KB.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top