Расширение Azure VM Powershell DSC с развертыванием шаблона - процесс завершается неудачно при настройке перезагрузки - PullRequest
0 голосов
/ 15 октября 2018

Я борюсь с настройкой перезагрузки через Powershell DSC.Это мой сценарий:

Использование развертываний шаблонов Azure RM с проектом группы ресурсов Visual Studio 2017:

  1. Виртуальная машина успешно развернута как вложенный (связанный) шаблон
  2. Далее, снова в качестве вложенного (связанного) шаблона, зависящего от развертывания виртуальной машины, создается шаблон расширения Powershell DSC
  3. В конфигурации DSC Powershell перезагрузка должна выполняться на определенном этапе
  4. Пробовал два сценария: a) с использованием виртуальной машины с Windows Server 2016 Datacenter и b) Windows Server 2012
  5. Оба сценария сообщают об ошибке. а) Первый сбой при перезагрузке. b) Второй, однако, кажется, перезагружается и завершает работу с конфигурациями, но все же сообщается об ошибке при развертывании группы ресурсов и выходе VS.
  6. В обоих сценариях ошибка: "Конфигурация DSC 'Main' завершена с ошибкой (ями). Ниже приведены первые несколько: Произошла общая ошибка CA, которая не покрыта более конкретным кодом ошибки. C "

Вот конфигурация DSC:

Configuration Main
{

param(
    ... a few parameters here ...
)

### required only for Windows Server 2012
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process -Force
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser -Force
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope LocalMachine -Force
###


Import-DscResource -ModuleName PSDesiredStateConfiguration
Import-DscResource -ModuleName xPendingReboot

Node "localhost"
{
    LocalConfigurationManager
    {
        RebootNodeIfNeeded = $true
    }

    ... Initial Configuration ...

    Script Reboot
    {
        TestScript = {
            return (Test-Path HKLM:\SOFTWARE\MyMainKey\RebootKey)
        }
        SetScript = {
            New-Item -Path HKLM:\SOFTWARE\MyMainKey\RebootKey -Force
             $global:DSCMachineStatus = 1 
        }
        GetScript = { return @{result = 'Reboot'}}
        DependsOn = '<Initial Configuration>'
    } 
    # Reboot if pending
    xPendingReboot RebootCheck
    {
        Name = "RebootCheck"
    }

    ... Configuration Continued ...
}
}

Любая помощь будет признательна, спасибо!

НЕКОТОРЫЕ ОБНОВЛЕНИЯ:

На самом деле, мое требование "перезагрузки" - это обходной путь, потому чтокогда два развертывания выполняются как вложенные шаблоны один за другим - происходит сбой Powershell DSC (если я развертываю их отдельно, все работает нормально).Конфигурация, кажется, терпит неудачу после того, как Ресурс Сценария установил службу Windows, используя NSSM.Затем я заметил, что если на машине инициируется перезагрузка, конфигурация применяется успешно.Таким образом, обходной путь с перезапуском ....

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