Назад | Перейти на главную страницу

Сбой упаковщика sysprep на AWS windows 2016 AMI

Похоже, что Packer не справляется с сценариями Amazon для системной подготовки машины. Я перепробовал кучу разных вещей. Помещение сценариев в их собственный сценарий, выполнение, их «встроенное», как многие люди показывают, но ничего не работает. Я получаю следующую ошибку:

Сборка amazon-ebs с ошибкой: команда обработки ошибки: ошибка повторной попытки: ошибка при загрузке сценария ps, содержащего переменные env: ошибка при загрузке файла в $ env: TEMP \ winrmcp-10fca0b1-a0ac-47d2-7462-77d91b066859.tmp: не удалось создать оболочка: ошибка ответа http: 401 - недопустимый тип содержимого

Любая помощь будет принята с благодарностью.

Версия пакера: Packer v1.3.3

Ниже мой упаковщик JSON:

    {
  "builders": [
    {
      "type": "amazon-ebs",
      "ami_description": "Base Win2016 with encrypted root",
      "ami_name": "examsoft-win2016-{{timestamp}}",
      "ami_regions": [
        "us-east-2",
        "ap-southeast-1",
        "us-east-1",
        "us-west-2"
      ],
      "encrypt_boot": true,
      "instance_type": "t2.micro",
      "region": "us-east-2",
      "user_data_file": "./bootstrap_win.txt",
      "communicator": "winrm",
      "winrm_username": "Administrator",
      "winrm_password": "{{user `winrm_password` }}",
      "region_kms_key_ids": {
        "ap-southeast-1": "alias/aws/ebs",
        "us-east-1": "alias/aws/ebs",
        "us-east-2": "alias/aws/ebs",
        "us-west-2": "alias/aws/ebs"
       },
      "source_ami_filter": {
        "filters": {
          "virtualization-type": "hvm",
          "name": "*Windows_Server-2016-English-Full-Base*",
          "root-device-type": "ebs"
        },
        "owners": "amazon",
        "most_recent": true
      }
    }
  ],

  "description": "Base Windows 2016 image with manager credentials and encrypted root",

  "provisioners": [

    {
      "type": "powershell",
      "script": "./scripts/ConfigureRemotingforAnsible.ps1"
    },

    {
      "type": "powershell",
      "script": "./scripts/ConfigurePackerImage.ps1"
    },

    {
      "type": "powershell",
      "inline": [
        "C:\\ProgramData\\Amazon\\EC2-Windows\\Launch\\Scripts\\InitializeInstance.ps1 -Schedule",
        "C:\\ProgramData\\Amazon\\EC2-Windows\\Launch\\Scripts\\SysprepInstance.ps1 -NoShutdown"
      ]
    }
  ]
}

Я столкнулся с этой точной ошибкой, и моя проблема заключалась в том, что я менял пароль администратора в сценарии, который выполнялся в средстве обеспечения до запуска sysprep.

Вы меняете пароль администратора в ./scripts/ConfigurePackageImage.ps1?

Если это так, я вырезал код, который изменяет пароль учетной записи администратора, и теперь запускаю его в отдельном скрипте, который запускается в инициаторе после sysprep.