首页 > 解决方案 > Windows Server 2019 从 IIS 调用提升的 powershell Hyper-V 脚本(c# mvc)

问题描述

作为 c# mvc 应用程序的一部分,我正在合并 hyper-v 机器管理器,可能会在未来的配置中启动/停止,但是尽管我能够在最简单的范围内运行 powershell 脚本,但我无法绕过 hyper-v cmdlet工作。

我已经尝试将我的应用程序池添加到 Hyper-V 管理员,因为这是 WS2019 和管理员本身,这似乎也不起作用。此外,我尝试创建自我提升的 ps 脚本来让我通过,运行批处理文件失败,仍然没有。我正在使用匿名身份验证,不知道这可能会导致一些问题,因为我对此并不感兴趣。

c# ps.AddScript(scriptPath); ps.Invoke();

对于开始,我需要能够以某种最优雅的方式管理开始/停止。最佳实践是最受欢迎的。

标签: c#powershelliismodel-view-controller

解决方案


我建议您创建一个专用的 Windows 服务应用程序来运行 Hyper-V cmdlet。可以将此服务配置为使用具有足够权限来运行 cmdlet 的适当用户帐户运行。你的 webapp 应该通过 WCF 与这个服务通信。这样,您将能够使用默认的低权限帐户运行您的 webapp,并保证您的系统的安全性。


推荐阅读