【问题标题】:Powershell script not executed on windows instance launched by AWS AutoscalingPowershell 脚本未在 AWS Autoscaling 启动的 Windows 实例上执行
【发布时间】:2015-03-22 12:19:14
【问题描述】:

我在任务计划程序中安排了一个脚本,并在“系统启动”时触发。 该脚本执行以下操作:

  • 将远程机器添加到域,

  • 将其移至特定组织单位,

  • 将其添加到组中,

  • 然后将其添加到弹性负载均衡器

  • 并重新启动计算机。

我希望通过自动缩放启动的实例在系统启动时执行此脚本,并按照上面指定的方式自动配置。

此脚本在所有测试机器上执行,但在 Auto Scaling 启动的实例上执行失败。当我停止同一台机器并重新启动它时,脚本执行了。

这是我的脚本:

if ((gwmi win32_computersystem).partofdomain -eq $true) {

}
Else{
$name=gc env:computername
$secpasswd = ConvertTo-SecureString "Password" -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential("abc\user",$secpasswd)
    Add-Computer -DomainName abc.com -OUPath "OU=POC,DC=abc,DC=com" -Credential $mycreds -force
    add-adgroupmember -id POCGroup -members "CN=$name,OU=POC,DC=abc,DC=com" -Credential $mycreds
Set-AWSCredentials -AccessKey ************* -SecretKey ***************
$id=(New-Object System.Net.WebClient).DownloadString("http://169.254.169.254/latest/meta-data/instance-id")
    Register-ELBInstanceWithLoadBalancer -LoadBalancerName "loadbalancer" -Instances "$id" | out-file elbInstance.txt
Restart-Computer
}

我认为当我在 AWS 中手动停止并启动机器时,它的工作原理与脚本没有任何关系。 请指导我。我错过了什么吗? 我搜索了但找不到类似的东西。

任何帮助将不胜感激。

提前致谢!

【问题讨论】:

    标签: powershell amazon-web-services autoscaling aws-powershell


    【解决方案1】:

    鉴于您已指定您对脚本充满信心。问题可能出在 AMI 上——在您创建 AMI 时;您需要在 EC2 配置服务中显式启用“用户数据执行”。

    如何做的详细信息在这个链接 - http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/UsingConfig_WinAMI.html

    【讨论】:

    • 感谢您的回复..但是我在任务调度程序中安排了脚本,这意味着 ami 有脚本在系统启动时执行..我的问题是即使在安排之后..我们需要使用用户数据?我浏览了链接..它说如果你有一个大脚本然后首先通过 ec2-config 下载它然后执行它..如果你能帮助我如何通过它下载?
    • AMI 或用户数据中的预定脚本;任何一个都可以。您可以继续使用 AMI 方法。 EC2-Config 仅适用于用户数据;在这种情况下,需要下载和运行大用户数据脚本。
    • 是的,我已经在任务计划程序中安排了脚本,然后在 AMI 中转换了它。问题仍然存在。:(
    猜你喜欢
    • 2021-07-11
    • 1970-01-01
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-10
    • 1970-01-01
    相关资源
    最近更新 更多