分配PowerShell脚本以在Windows Server 2012上使用PowerShell启动时运行

我正在尝试编写一个PowerShell脚本,它将在使用AWS提供的configuration工具在AWS上创buildWindows 2012实例时运行。

我的问题是,一旦启动,我想改变机器的名字,重启机器后进行设置过程。 主要原因是在安装过程中安装的其中一个应用程序Boundary在首次安装时会取得服务器的名称。 那么在他们的门户中改变它的名字似乎是不可能的。

理想情况下,我将拥有两个PowerShell脚本,一个用于启动设置过程,通过AWS初始化,另一个在机器第一次重新启动时运行。 理想情况下,第二个脚本将在最初的设置脚本的下一个开始处排队运行。 所以我想我的问题是:

  1. 这可能吗?
  2. 我将如何去做这件事。

我的谷歌foo让我在这里,所以任何答案将不胜感激。

这绝对是可能的。 您需要的基本构build块是:

  • 亚马逊的“用户数据”function,可以在实例首次启动时运行用户定义的脚本。 这里有更多的细节: https : //forums.aws.amazon.com/message.jspa?messageID=342503 。
  • Windows任务计划程序安排任务在Windows重新启动后执行。 查看schtasks.exe命令,了解有关如何执行此操作的更多详细信息(只需在命令提示符下键入schtasks.exe即可)。

你将需要两个脚本:

  1. 通过“用户数据”function运行。 负责在Windows上使用Windows任务计划程序调度第二个脚本的执行,更改Windows计算机名称并重新启动Windows。 调度命令应该如下所示:

    schtasks.exe / create / TN my-task / SC ONSTART / TR SCRIPT_FILE / RU USERNAME / RP PASSWORD

  2. 运行您的应用程序。

第二个脚本也可能会删除计划的任务 – 取决于是否希望此VM从重新启动自动恢复。