Я пытаюсь написать сценарий новой настройки сервера в AWS, на котором будет установлен IIS. Я пытаюсь сделать это с помощью пользовательских данных:
<powershell>
Start-Transcript;
# Set Default Password for Testing
net user "Administrator" "Password.1";
# Install IIS
Import-Module ServerManager;
Install-WindowsFeature web-server, web-webserver -IncludeAllSubFeature;
Install-WindowsFeature web-mgmt-tools;
# Configure Bindings to :443
New-WebBinding -Name "Default Web Site" -IP "*" -Port 443 -Protocol https -SslFlags 0;
$newCert = New-SelfSignedCertificate -DnsName localhost -CertStoreLocation cert:\LocalMachine\My;
$SslBinding = Get-WebBinding -Name "Default Web Site" -Protocol "https";
$SslBinding.AddSslCertificate($newCert.GetCertHashString(), "my");
Get-WebBinding -Port 80 -Name "Default Web Site" | Remove-WebBinding;
# Install CodeDeploy Agent
Import-Module AWSPowerShell;
New-Item -Path "C:\Temp" -ItemType "directory" -Force;
Read-S3Object -BucketName aws-codedeploy-us-east-1 -Key latest/codedeploy-agent.msi -File c:\temp\codedeploy-agent.msi;
c:\temp\codedeploy-agent.msi /quiet /l c:\temp\host-agent-install-log.txt;
</powershell>
Моя проблема заключается в том, что для того, чтобы установка действительно завершилась, мне нужно подключить удаленный рабочий стол к машине.
Учитывая, что это будет в группе автоматического масштабирования, нецелесообразно подключать удаленный рабочий стол к серверам, поскольку они раскручиваются для удовлетворения спроса.
Почему мне нужно подключиться к удаленному рабочему столу для завершения сценария? Могу ли я написать сценарий таким образом, чтобы мне не нужно было подключаться к серверам по протоколу RDP во время их запуска?
Enable-WindowsOptionalFeature
с установленным флагом-NoRestart
:Enable-WindowsOptionalFeature -Online -NoRestart -FeatureName 'IIS-WebServerRole', 'IIS-WebServer', 'IIS-ManagementConsole'
. - person Adil B   schedule 30.01.2018