buongiorno a tutti..
ho un piccolo problema nell'eseguire comandi dos tramite processo CMD in Vb.Net windowsform ..
in alcuni comandi inviati al processo CMD risponde che non si hanno i privilegi amministratore, eppure ho impostato nelle proprietà del processo l'utente con privilegi amministratore ma nonostante ciò non và.
ecco la route dove dichiaro il processo con userprofile:
codice:Private Sub CMD_Form_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load psi = New ProcessStartInfo("cmd.exe") Dim systemencoding As System.Text.Encoding = _ System.Text.Encoding.GetEncoding(Globalization.CultureInfo.CurrentUICulture.TextInfo.OEMCodePage) With psi .UseShellExecute = False .RedirectStandardError = True .RedirectStandardOutput = True .RedirectStandardInput = True .CreateNoWindow = True .StandardOutputEncoding = systemencoding .StandardErrorEncoding = systemencoding .LoadUserProfile = True .UserName = "*******" ' contiene il nome utente come amministratore, che è quello per accedere a windows 8 .Password = securePwd ' dichiarata altrove contiene la password amministratore End With cmd = New Process With {.StartInfo = psi, .EnableRaisingEvents = True} ' reindirizza l'output (nella textbox) AddHandler cmd.ErrorDataReceived, AddressOf Async_Data_Received AddHandler cmd.OutputDataReceived, AddressOf Async_Data_Received AddHandler cmd.Exited, AddressOf CMD_Exited cmd.Start() cmd.BeginOutputReadLine() cmd.BeginErrorReadLine() Me.txtConsoleIn.Select() End Sub
il programma funziona bene. solo quando ci sono comandi che richiedono l'avvio di CMD come amministratore, non vengono eseguiti...
secondo voi, come posso fare?

Rispondi quotando