c# - 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();
对于开始,我需要能够以某种最优雅的方式管理开始/停止。最佳实践是最受欢迎的。
解决方案
我建议您创建一个专用的 Windows 服务应用程序来运行 Hyper-V cmdlet。可以将此服务配置为使用具有足够权限来运行 cmdlet 的适当用户帐户运行。你的 webapp 应该通过 WCF 与这个服务通信。这样,您将能够使用默认的低权限帐户运行您的 webapp,并保证您的系统的安全性。
推荐阅读
- tensorflow - Keras Conv1D 和 VGG 的问题
- flutter - Flutter 如何处理异步/等待中的错误
- python - 在 Pandas 中将字符串拆分为每个字符的多列
- javascript - 如何将变量从后台传输到弹出窗口并访问它?
- azure - 我想使用单个 Azure 密钥保管库,在多个团队之间共享。使用 RBAC 是否希望允许有权访问他们有权访问的那些对象?
- jberet - 块 ItemReader 处理多个文件
- javascript - 滑动以使用 Selenium 解锁
- javascript - 将变量传递给 html href
- shell - 更新相同文件代码的 Shell 脚本正在循环
- c# - 是否可以在 C#(.NET Framework 4.7.2)中的 .settings 文件中添加其他属性