我正在尝试编写一个 PowerShell 脚本,该脚本将在使用 AWS 提供的配置工具在 AWS 上创建 Windows 2012 实例时运行。
我的问题是我想在机器启动后更改其名称,然后重新启动机器并继续设置过程。主要原因是在设置过程中安装的应用程序之一 Boundary 在首次安装时使用了服务器的名称。因此似乎无法在其门户中更改其名称。
理想情况下,我会有两个 PowerShell 脚本,一个用于启动设置过程,通过 AWS 初始化,另一个在机器第一次重启时运行。理想情况下,第二个脚本将排队等待初始设置脚本在下次启动时运行。所以我想我的问题是:
- 这可能吗?
- 我该如何做这件事?
我的 Google foo 让我失望了,因此任何答案都将不胜感激。
答案1
这绝对是可能的。您需要的基本构建块是:
- 亚马逊的“用户数据”功能,可以在实例首次启动时运行用户定义的脚本。更多详细信息请参见此处:https://forums.aws.amazon.com/message.jspa?messageID=342503。
- Windows 任务计划程序用于安排在 Windows 重新启动后执行的任务。查看 schtasks.exe 命令以了解如何执行此操作的更多详细信息(只需在命令提示符下键入 schtasks.exe)。
您将需要两个脚本:
通过“用户数据”功能运行。负责在 Windows 启动时使用 Windows 任务计划程序安排第二个脚本的执行,更改 Windows 计算机名称并重新启动 Windows。调度命令应类似于:
schtasks.exe /create /TN my-task /SC ONSTART /TR SCRIPT_FILE /RU 用户名 /RP 密码
运行您的应用程序。
第二个脚本也可能会删除计划任务 - 取决于您是否希望此虚拟机在重启后自动恢复。