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

Я пытаюсь запустить командный файл, используя мой 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# сценарии?

0 ответов

Другие вопросы по тегам