如何以编程方式将文件传输到同一网络上的虚拟机?

How to transfer files to a Virtual Machine on the same network programmatically?

这是我遇到的情况:

我有一个系统,我需要从中传输一些文件(exe 文件)到虚拟机。对于将由某些工具生成的大量 VM,必须完成此过程。

我知道 VM 的 IP 地址并且我有虚拟机的凭据。如何将文件从我的系统(服务器)发送到虚拟机。将文件发送到虚拟机后,它需要在 VM 上执行文件(exe 文件)。

我研究了 C# 中的模拟。从我发现的情况来看,它只能让你冒充另一个用户,而不是传输文件(如果我错了请纠正我)。 如果可以使用模拟,我该怎么做?

另一个似乎可行的选项是使用 SMB(服务器消息块),但 C# 对此的支持似乎很差。

我该如何将这些文件发送到 VM?

注:

VM 将具有 Windows 7 或 Windows 8。

服务器是WindowsServer 2008

这可以在 C# 中使用 impersonation 来完成。模拟用户凭据后,您可以使用正常的文件复制方法来传输文件。