2015-10-12 73 views
3

我想在Windows Server 2012上运行一个脚本来清除文件夹(即:C:/ myfolder)。我想添加一个项目以启动脚本列表根据编辑组策略,但这将清除我的文件夹任何时候我的任何服务器重新启动。我只希望从现有的AMI启动新实例时清除该文件夹。AWS EC2 - 在Windows Server 2012上运行实例脚本

达到此目的的最佳方法是什么?

回答

2

实现此目标的最佳方法是EC2 User Data,它基本上是在实例启动期间执行的用户定义脚本。在Windows上,您可以将用户数据作为cmd或powershell运行。用户数据在您提出启动新实例的请求时提供。

现有的AMI需要配置为在启动时运行用户数据。这可以通过EC2配置服务进行管理,该服务由亚马逊提供,预先安装在Windows Server 2012的社区AMI上。默认情况下,EC2配置服务将在首次启动时执行用户数据,然后将其自身设置为不执行用户数据除非您手动将其更改为如此。

这里有一个example from the AWS documentation是主叫通过PowerShell中调用Rename-Computer

EC2 User Data during instance configuration

空出来的文件夹,但不删除文件夹本身,你的脚本可能会是这个样子:

<powershell> 
Remove-Item "C:\myfolder\*" -Force -Recurse 
</powershell> 

运行用户数据时,注意您正在执行的cmdlet的操作非常重要,尤其是何时使用-Force标志跳过交互式提示。有些cmdlet会根据情况要求客户端进行输入,并且当您执行用户数据时,会导致脚本挂起,因为系统用户在启动过程中正在执行脚本。

相关问题