2015-10-12 103 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會根據情況要求客戶端進行輸入,並且當您執行用戶數據時,會導致腳本掛起,因爲系統用戶在啓動過程中正在執行腳本。

相關問題