Как запустить скрипт от имени администратора

#c# #powershell #asp.net-core-2.1

#c# #powershell #asp.net-core-2.1

Вопрос:

У меня есть приложение .NET Core 2.1, которое при запуске должно выполнить скрипт PowerShell. Однако скрипт может быть запущен только в том случае, если PowerShell запускается от имени администратора. Возможно ли явно запустить скрипт PowerShell от имени администратора?

 namespace MyApp
{
    using System.Management.Automation;

    public class Program
    {
        using (var ps = PowerShell.Create())
        {
            ps.AddScript("[Environment]::SetEnvironmentVariable("  
                         "'ASPNETCORE_ENVIRONMENT',"  
                         "'Staging',"  
                         "'Machine')");
            ps.Invoke();
        }
    }
}
  

Комментарии:

1. Что вы пытаетесь с этим сделать?

2. @John Установил переменную среды в моем экземпляре Elastic Beanstalk.

3. Из ASP.NET Ядро?

4. Да, потому что я (по какой-то причине) не могу удаленно войти в свой экземпляр EB и настроить его вручную. Итак, я пытаюсь сделать это программно из API, который я размещаю на экземпляре.

5. Но какое преимущество это имеет перед вызовом Environment.SetEnvironmentVariable в коде?

Ответ №1:

Вы можете сделать это, выбрав свойства скрипта и на вкладке совместимость установите флажок с надписью запустить эту программу от имени администратора. Если вы не видите вкладку совместимость, другой способ, который будет работать, — создать файл ярлыка вашего скрипта и в разделе свойства ярлыка нажать «Заранее» и установить флажок «Запуск от имени администратора».

Комментарии:

1. Это не вопрос о запуске PowerShell от имени администратора. Речь идет о запуске скрипта PowerShell от имени администратора через опубликованный . СЕТЕВОЕ приложение

2. Установив скрипт так, чтобы он всегда запускался от имени администратора, вам даже не нужно настраивать его в коде или что-либо еще.