我有一台 Amazon EC2 机器(Windows Server 2003 R2),我想在 Windows Server 2003 R2 机器启动时运行一个脚本(.bat 文件)。这需要在任何用户登录之前运行。理想情况下我也想在我的 Windows Server 2008 R2 实例上扩展相同的解决方法 - 但到目前为止,Windows Server 2003 R2 对我来说至关重要。
仅供参考,.bat 文件会更新 DDNS 记录,因此 EC2 机器不需要使用静态 IP。
答案1
使用 GPedit.msc
进入计算机管理/Windows/脚本/启动。
将您的脚本放在那里。
请注意,该脚本将在本地系统帐户下运行。
您也可以在 2008R2 实例上使用相同的方法。
答案2
谢谢 surfasb。我赞成你的答案,但由于某种原因,它实际上不起作用。(可能是用户帐户权限?)。基本上我重新启动了机器,但没有触发它。
因此,我将其设置为适当的计划任务(系统调度程序),并将事件设置为“启动时”。第二次重启时,我的批处理文件启动正常。没有对此进行进一步调查,但我想我们现在有两个解决方案!
答案3
该程序可以作为服务安装:http://support.microsoft.com/kb/137890
如果是 bat 文件,则必须先转换为 exe或者自动调速系统来自Win2k3 资源工具包可以使用。
此外,一旦转换国家安全监测中心使安装服务变得非常简单。只需nssm install <servicename>
答案4
不要运行 .bat 文件,而是将其重命名为 .cmd 并进行测试。.bat 和 .cmd 之间存在差异,Windows 解释批处理命令的方式也不同。有关更多信息,请 Google 查找 .bat 和 .cmd 之间的差异。VBScript 也可以工作,或者使用 VBScript 来启动您的旧批处理文件。