假设我有一个在 MS-Azure 上运行的 VM(Windows)。 假设我在该虚拟机上有程序 Y 和 Z,它们正在记录一些关键数据。假设我在虚拟机内还有一个程序 X,它接受一些参数并根据过滤器返回一些关键数据。
现在,我正在构建一个前端 Web 应用程序,一个 ASP.NET 网站,上述 VM 的所有者可以登录并查看程序 X 可以提供的数据。
我已经在虚拟机内运行了日志记录程序并安装了程序 X。如何访问虚拟机内的可执行文件、向其传递参数、运行它并将结果返回给我?这可行吗?有人可以建议我如何实现这一目标吗?
谢谢。
最佳答案
如果您的程序X不涉及GUI,您可以尝试在PS远程 session 上运行它。这是一个很好的guide关于如何配置 powershell 远程。
此外,这是 article关于需要在防火墙上打开的端口。
By default PowerShell will use the following ports for communication (They are the same ports as WinRM)
TCP/5985 = HTTP
TCP/5986 = HTTPS
如果涉及 GUI,据我所知,唯一的解决方案是使用 RDP 远程连接到虚拟机。
此外,在互联网上公开 WinRM 或 RDP 端口并不是一个好主意。我建议您在 Azure 上创建 VPN 并使用 WinRM 或 RDP over VPN。
关于c# - 如何从 Azure VM 内部访问数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39154785/