AWS создает Windows Server 2016 с установкой программного обеспечения - PullRequest
0 голосов
/ 20 октября 2019

Я пытаюсь запустить Windows Server 2016 с определенным программным обеспечением, вызвав некоторые скрипты powershell в разделе «Данные пользователя» конфигурации при использовании консоли. Я пытаюсь установить IIS, агент развертывания кода, dotnet-хостинг и dotnet core sdk. Это скрипт, который у меня есть

<powershell>  
mkdir install-tools
Install-WindowsFeature Web-Server -IncludeManagementTools
powershell.exe -Command Read-S3Object -BucketName aws-codedeploy-us-east-1/latest -Key codedeploy-agent.msi -File c:\install-tools\codedeploy-agent.msi
Start-Process -Wait -FilePath c:\install-tools\codedeploy-agent.msi -WindowStyle Hidden
powershell -command "& { iwr https://download.visualstudio.microsoft.com/download/pr/bf608208-38aa-4a40-9b71-ae3b251e110a/bc1cecb14f75cc83dcd4bbc3309f7086/dotnet-hosting-3.0.0-win.exe -OutFile  c:\install-tools\dotnet-hosting-3.0.0-win.exe  } "
Start-Process -Wait -FilePath c:\install-tools\dotnet-hosting-3.0.0-win.exe  -WindowStyle Hidden
powershell -command "& { iwr https://download.visualstudio.microsoft.com/download/pr/40c1dd82-671c-4974-919d-ac8a61ef5a91/49ab67c335878f4a5bdd84e14c76708f/dotnet-sdk-2.2.402-win-x64.exe -OutFile  c:\install-tools\dotnet-sdk-2.2.402-win-x64.exe  } "
Start-Process -Wait -FilePath c:\install-tools\dotnet-sdk-2.2.402-win-x64.exe  -WindowStyle Hidden 
</powershell>  

После запуска экземпляра, похоже, что все команды в приведенном выше скрипте выполняются до того момента, когда я пытаюсь установить хостинг dotnet в этой строке Start-Process -Wait -FilePath c:\install-tools\dotnet-hosting-3.0.0-win.exe -WindowStyle Hidden Этокажется, что эта строка не работает и строки после этого не выполняются. Почему эта линия не работает?

1 Ответ

2 голосов
/ 20 октября 2019

Вы только запускаете файл .exe, не сообщая ему, что ему нужно делать. Если вы запустите эти команды без -WindowStyle Hidden, вы увидите, что вы только что запустили установщик, скорее всего, ожидая, что кто-то нажмет кнопки Next / Intall.

В зависимости от установщика у них могут быть некоторые аргументы, такие как / quit,/ q, / silent или что-то в этом роде.

Start-Process использует -ArgumentList для запуска процесса с этими аргументами.

Start-Process -Wait -FilePath c:\install-tools\dotnet-hosting-3.0.0-win.exe -ArgumentList "/quit"  -WindowStyle Hidden

Для большинства установочных файлов, которые допускают установки на основе аргументов, они имеюта / помощь и / или /? аргумент, который даст вам основную информацию. Для обоих ваших файлов .exe это должно быть (не проверено)

/install /quiet /log $PathToInstallLogFile

Принимая во внимание, что часть / install, скорее всего, не нужна, поскольку обычно это значение по умолчанию, а / log используется для отладки.

...