【问题标题】:How to run script as administrator如何以管理员身份运行脚本
【发布时间】:2019-04-01 10:04:07
【问题描述】:

我有一个 .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();
        }
    }
}

【问题讨论】:

  • 你想用这个做什么?
  • @John 在我的 Elastic Beanstalk 实例上设置环境变量。
  • 来自 ASP.NET Core?
  • 是的,因为我(出于某种原因)无法远程访问我的 EB 实例并手动设置它。所以我试图从我在实例上托管的 API 中以编程方式进行。
  • 但这比在代码中调用Environment.SetEnvironmentVariable 有什么好处?

标签: c# powershell asp.net-core-2.1


【解决方案1】:

您可以通过选择脚本的属性并在兼容性选项卡下选中“以管理员身份运行此程序的复选框。如果您看不到兼容性选项卡,其他可行的方法是创建脚本的快捷方式文件并在快捷方式属性下,单击高级并复选框以管理员身份运行。

【讨论】:

  • 这不是关于以管理员身份运行 PowerShell 的问题。它是关于通过已发布的 .NET 应用程序以管理员身份运行 PowerShell 脚本
  • 通过将脚本设置为始终以管理员身份运行,您甚至不需要在代码或其他任何方式中进行设置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多