Domanda

Ho un'applicazione VB.NET 2008 che dovrebbe essere eseguita all'avvio. Dopo aver incontrato determinate condizioni, il PC dovrebbe riavviare. Di seguito è riportato il codice che sta fallendo:

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

MyUsername e Mydomain sono entrambe stringhe mentre MyPassword è un secondo. L'applicazione funziona correttamente quando esegui manualmente, ma fornisce il seguente errore quando viene eseguito dall'avvio (posizionandosi nella cartella di avvio o aggiungendo al registro):

Il nome della directory non è valido

Inoltre, il programma esegue correttamente quando gli ultimi 3 argomenti vengono esclusi e l'utente ha i diritti necessari.

Come faccio a forzare un riavvio utilizzando credenziali utente specifiche e alternative all'avvio?

È stato utile?

Soluzione

Stai iniziando il processo con la directory di lavoro corrente come impostazione predefinita. Ciò può causare problemi se quella directory non è valida per l'utente che si specifica. Utilizzare invece il sovraccarico di processo.start (processstartinfo). Impostare il processortinfo.workingDirectory su una directory che è buona per qualsiasi utente. Come c:

Maggiori informazioni in questo Articolo KB.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top