C# как использовать Cmd с правами администратора

Привет мне нужно через свой код выполнить команду в (командной строке)СMD Windows. Написал такой вот Асинхронный метод.

async void CleanEventlog()  //частично удаляет журнал событий
    {
        await Task.Run(() =>
        {
            ProcessStartInfo psi = new ProcessStartInfo();
            psi.FileName = "cmd";
            psi.Arguments = @"/k vssadmin delete shadows /all /quiet";
            Process.Start(psi);
        });

        //  /c - после выполнения команды консоль закроется
        //  /к - не закрывать консоль после выполнения команды
    }

Но проблема в том, что мне необходимо выполнить эту команду с правами администратора. Как это можно реализовать?


Ответы (1 шт):

Автор решения: Konst

Установка свойства ProcessStartInfo.Verb на "runas" приравнивается к запуску процесса с правами администратора:

ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "cmd";
psi.Arguments = @"/k vssadmin delete shadows /all /quiet";
psi.Verb = "runas";
Process.Start(psi);
→ Ссылка