запустить пакетный файл из vb.net от имени администратора

В моем приложении мне нужно запустить пакетный файл от имени администратора, чтобы он работал.
Я использую это до сих пор, но не могу вспомнить, как использовать функцию runas, которая позволяет ему работать с правами администратора.

process.start("filelocation.bat")

Любая помощь будет оценена.


person Chris Wilson    schedule 16.07.2012    source источник
comment
Возможный дубликат stackoverflow.com/questions/133379/   -  person Timiz0r    schedule 16.07.2012


Ответы (2)


Вы можете попробовать с этим кодом:

Dim proc as ProcessStartInfo  = new ProcessStartInfo()
proc.FileName = "runas"
proc.Arguments = "/env /user:Administrator filelocation.bat"
proc.WorkingDirectory = "your_working_dir"
Process.Start(proc)

Этот код запросит пароль администратора и запустит выполнение вашего пакетного файла.

РЕДАКТИРОВАТЬ: это альтернатива без окна cmd

Dim proc as ProcessStartInfo  = new ProcessStartInfo()
proc.FileName = "filelocation.bat"
proc.WorkingDirectory = "your_working_dir"  // <- Obbligatory
      proc.UseShellExecute = False
      proc.Domain = userDomain // Only in AD environments?
      proc.UserName = userName
      proc.Password = securePassword
Process.Start(proc)

Это немного сложнее, потому что вам нужно получить входные значения (имя пользователя, пароль, домен) перед использованием этого кода, а пароль — SecureString, которую необходимо создать специальным образом.

Dim securePassword as New Security.SecureString()
For Each c As Char In userPassword
    securePassword.AppendChar(c)
Next c
person Steve    schedule 16.07.2012
comment
Привет, Это не совсем работает, как я хотел бы. Мне нужно, чтобы он работал от имени администратора, но сначала как разрешение пользователя в небольшом диалоговом окне, а не через cmd. Спасибо - person Chris Wilson; 16.07.2012
comment
Обновил мой ответ. Это альтернативное решение требует, чтобы вы каким-то образом получали входные данные от вашего пользователя. - person Steve; 16.07.2012

    Imports System.Diagnostics
    Imports System.Security

«хорошие примеры. просто добавление пространств имен

person DanCZ    schedule 12.06.2015