Расширение Azure VMSS Powershell, копирующее файлы из URL - PullRequest
0 голосов
/ 28 февраля 2019

Использование PS для создания расширения, которое должно сделать следующее прямо сейчас.

1: Получить zip 2: Распаковать и скопировать в каталог в C: \ Scripts

Вот PS для установки расширения (это действительно создает создание расширения в расширениях под набором масштабирования)

$dscConfig = @{
  "wmfVersion" = "latest";
  "configuration" = @{
    "url" = "https://foo.blob.core.windows.net/dsc.zip";
    "script" = "configure.ps1";
    "function" = "AzureDscDemo";
  };
}

$vmss = Get-AzVmss `
                -ResourceGroupName "FooVmssResource" `
                -VMScaleSetName "FooVmss"

$vmss = Add-AzVmssExtension `
    -VirtualMachineScaleSet $vmss `
    -Publisher Microsoft.Powershell `
    -Type DSC `
    -TypeHandlerVersion 2.24 `
    -Name "DSC" `
    -Setting $dscConfig

Update-AzVmss `
    -ResourceGroupName "FooVmssResource" `
    -Name "FooVmss"  `
    -VirtualMachineScaleSet $vmss

Теперь внутри dsc.zip у меня есть скрипт с именем configure.ps1 с функцией AzureDscDemo, где я сталкиваюсь с проблемами.Как мне взять zip-файл и сохранить путь к файлу на сервере, а лучше распаковать его.

Configuration AzureDscDemo {
       Node Localhost {
           File DscFile {
               Type = "Directory"
               Ensure = "Present"
               DestinationPath = "C:\Scripts"
              # Copy zip to scripts????
           }
      }
}

1 Ответ

0 голосов
/ 28 февраля 2019

Вам не нужно скачивать и разархивировать его, расширение сделает это за вас.он также запустит функцию, указанную вами в файле, и передаст аргументы, если вы предоставите какой-либо.

сейчас, если вы хотите загрузить дополнительный zip-файл, вам потребуется код для него.но вот как работают расширения:

"url" = "https://foo.blob.core.windows.net/dsc.zip" <<< get zip from this url and unzip it to a special folder on the vm
"script" = "configure.ps1" <<< load this file into memory
"function" = "AzureDscDemo" <<< call this function from inside the file

Загрузка удаленного файла с помощью powershell dsc:

    xRemoteFile 'DownloadFile'
    {
        DestinationPath = $DestinationPath
        Uri             = $Uri
        UserAgent       = $UserAgent
        Headers         = $Headers
    }

https://github.com/PowerShell/xPSDesiredStateConfiguration/blob/dev/Examples/xRemoteFile_DownloadFileConfig.ps1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...