加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

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

发布时间:2020-12-13 21:01:57 所属栏目:Windows 来源:网络整理
导读:我想启动一个EC2 Windows实例,上传一个EXE可执行文件执行它(全部以自动化方式,这很重要) 到目前为止,我能够以编程方式启动EC2 Windows实例获取其参数(密码/ IP),现在我想找到一种方法来上传这个可执行文件(从我的Windows机器或我的其他EC2 linux实例)运
我想启动一个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'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读