#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. Установив скрипт так, чтобы он всегда запускался от имени администратора, вам даже не нужно настраивать его в коде или что-либо еще.