Запустите пакетный файл с правами администратора на другом сервере.
Я пытаюсь запустить командный файл, используя мой C# скрипт, который находится на другом сервере. Мой сценарий C# находится на одном рабочем сервере X, а командный файл - на другом рабочем сервере Y.
Мой сценарий C# помещен в планировщик задач с использованием служебной учетной записи, которую я добавил на сервер Y, а также администратора, и я дал права безопасности для командного файла.
Есть ли что-то, что я мог бы упустить в моем коде ниже:
private static void runE(string file)//function to run the E as admin
{
Process proc = null;
try
{
string batDir = string.Format(@"\\ServerY_IP\d$\E\D\");
proc = new Process();
proc.StartInfo.WorkingDirectory = batDir;
proc.StartInfo.FileName = file;
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.Verb = @"runas";
proc.StartInfo.Domain = "ServerY_IP";
proc.StartInfo.LoadUserProfile = true;
proc.Start();
Console.WriteLine(file + " is being executed");
WriteLog(file + " is being executed");
proc.WaitForExit(); //wait forever
Thread.Sleep(TimeSpan.FromMinutes(30));
Console.WriteLine(file + " file completed.");
WriteLog(file + " file completed.");
}
catch (Exception ex)
{
WriteLog("Process finished with Errors" + ex.Message);
}
}
Я передаю файл "kick.bat" в качестве значения аргумента этому. Этот файл нужен мне как администратор. Чтобы устранить эту проблему, я также создал другой пакетный файл в той же папке, и он работает, но этот "kick.bat" не запускается.
Я обнаружил вероятную проблему с ним, запустив его в тесте. После запуска задачи в тесте я получил всплывающее окно с предложением сказать "да" или "нет" для запуска файла с правами администратора. Как я могу вставить да для приглашения в моем C# сценарии?