タスクスケジューラでスクリプトをスケジュールし、「システムの起動」でトリガーしました。スクリプトは次のことを行います。
リモート マシンをドメインに追加し、
特定の組織単位に移動し、
グループに追加し、
次に、それを Elastic Load Balancer に追加します
コンピューターを再起動します。
自動スケーリングによって起動されたインスタンスが、システムの起動時にこのスクリプトを実行し、上記のように自動的に構成されるようにします。
このスクリプトはすべてのテスト マシンで実行されましたが、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でマシンを手動で停止および開始したときにスクリプトが機能したため、スクリプトとは何の関係もないと思います。私を案内してください。何か不足していますか?検索しましたが、これに似たものは見つかりませんでした。
どんな助けでも大歓迎です。
前もって感謝します!