EC2 Cloudformation - данные пользователя с использованием powershell для извлечения сценариев powershell из GitHub

У меня есть облачная инфраструктура AWS - которая строит весь мой VPC с подсетями и т. д. - в этом CF строит сервер Windows 2012 - мы хотим загрузить этот сервер под данные пользователя, чтобы он стал контроллером домена. Все наши скрипты для ps1 размещены на github. под пользовательскими данными я ввел, как показано ниже

"<powershell>\n",
      "Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Force\n",
      "Rename-Computer AWSAD10 -restart\n",
      "Start-Sleep -s 100\n",
      "$url = \"https://github.com/username/gittest/blob/testinggit/NewAD.ps1\" \n",
      "(New-Object System.Net.WebClient).DownloadFile($url, 'C:\\Windows\\Temp\\NewAD.ps1')\n",

, команды для переименования компьютера работают нормально - вот что не работает NewAD. Сценарий PS1, который размещен на git - когда я запускаю этот сценарий на локальном сервере, все работает нормально, поэтому он переходит в AD, запустив локальный, однако извлечение из git не работает - я также пробовал:

$trueInvoke-WebRequest -Uri "$trueInvoke-WebRequest -Uri "https://raw.github.com/cloudbase/unattended-setup-scripts/master/UpdateAndSysprep.ps1" \n",

Любые идеи, пожалуйста, так как у меня есть одну неделю пытаюсь понять, как я могу это сделать? и не так уж много информации о том, как заставить это работать

0
задан 15 May 2016 в 15:09
1 ответ

Вот пример того, как я получил его работу

"UserData" : { "Fn::Base64" : { "Fn::Join" : ["", [
          "<powershell>\n",
          "Set-ExecutionPolicy RemoteSigned -Force\n",
          "Set-Content -Path C:\\OnPremDG.ps1 -Value \"(New-Object System.Net.WebClient).DownloadFile( 'https://download.microsoft.com/download/D/A/1/DA1FDDB8-6DA8-4F50-B4D0-18019591E182/GatewayInstall.exe', 'c:\\GatewayInstall.exe' )`r`n& c:\\GatewayInstall.exe /Q\" -force\n"
            "</powershell>"]]}}

Left это команда для запуска кровавого скрипта :))) (я работал, но потерял команду во время одного из тестов)

Проверьте журнал скриптов по адресу: C: \ ProgramData \ Amazon \ EC2-Windows \ Launch \Журнал Фактический сценарий находится в C: \ Windows \ Temp \ UserScript.ps1 Вы увидите, что каталог по умолчанию, в котором PowerShell находится в момент запуска, - C: \ Windows \ Temp ... AWS следует обновить свою документацию, добавив информацию об этом.

0
ответ дан 5 December 2019 в 10:24

Теги

Похожие вопросы