如何在EC2 Windows实例中以编程方式/远程执行程序

前端之家收集整理的这篇文章主要介绍了如何在EC2 Windows实例中以编程方式/远程执行程序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想启动一个EC2 Windows实例,上传一个EXE可执行文件执行它(全部以自动化方式,这很重要)

到目前为止,我能够以编程方式启动EC2 Windows实例&获取其参数(密码/ IP),现在我想找到一种方法上传这个可执行文件(从我的Windows机器或我的其他EC2 linux实例)运行。

我考虑推出一个RDP连接使用宏软件上传&执行该文件,但是根据以往的经验,这是一个糟糕/脆弱的方法

我也想到把这个EXE上传到服务器上,然后在Windows上做这样的事情:

wget http://www.domain.com/my-file.exe

除了Windows没有wget!

所以我的问题是:有没有办法以编程方式上传&在EC2 Windows实例中执行EXEcutable?

命令ec2-run-instances有两个额外的参数,可以在运行该命令时使用。用户数据命令和用户数据文件,只要他们从不同的输入读取,执行相同的任务。当您使用此参数时,用户数据的内容将被上传到亚马逊托管的URI http://169.254.169.254/1.0/user-data仅适用于已启动的实例。

在Linux环境中执行此操作的正常方法是将shell脚本上传到实例以下载exe,您的用户数据文件可能看起来像这样…

#! /bin/bash
wget http://www.domain.com/my-file.exe

在Windows中,在启动实例时,没有安装默认服务来执行用户数据文件,但是有一个开源项目CloudInit.NET可以模拟相同的进程,但使用了powershell脚本。唯一的要求是.NET 4.0和CloudInit.NET。一旦安装,它将在启动实例时执行用户数据文件。下载一个文件并用powershell脚本执行它是非常容易的。

!# /powershell/
$wc = New-Object System.Net.WebClient
$wc.DownloadFile("http://www.domain.com/my-file.exe","C:\my-file.exe");
& 'C:\my-file.exe'

猜你在找的Windows相关文章