如何使用 C# 更改 Hyper-V VM 的用户权限

How to change user permissions at Hyper-V VM using C#

我想使用 C# 在 Hyper-V 上远程 add/edit 用户权限。我知道 WMI 提供程序仅对从 Hyper-V 获取信息有帮助,但我需要一些将数据写入 Hyper-V 的解决方案。有什么办法可以解决我的问题吗?

如果您不想依赖第三方或 alpha 库,有一种方法可以让 C# 参与其中:hyper v 有一组非常好的 PowerShell commandlet。只需创建一个带有参数的 powershell 脚本文件,然后直接从 C# 运行 该脚本。这应该是一个简单的解决方案,具有完整的微软支持。您可能想要使用的命令是

Grant-VMConnectAccess

Microsoft documentation

您可以从 C# 调用 Powershell 脚本或在脚本中包含 C# 函数。 here

可以找到这两种方式的一个很好的例子

运行 来自 PS

的 C# 函数
  Add-Type -TypeDefinition $CalcInstance
  $CalcInstance = New-Object -TypeName Calc
  $CalcInstance.Add(20,30)

在 C# 中构建 PS 脚本对象

 var powerShell = PowerShell.Create().AddScript(someScript);

当然,这仅适用于您的目标场景 - 必须在机器上安装 powershell 运行稍后安装您的 C# 应用程序。