Я борюсь с настройкой перезагрузки через Powershell DSC.Это мой сценарий:
Использование развертываний шаблонов Azure RM с проектом группы ресурсов Visual Studio 2017:
- Виртуальная машина успешно развернута как вложенный (связанный) шаблон
- Далее, снова в качестве вложенного (связанного) шаблона, зависящего от развертывания виртуальной машины, создается шаблон расширения Powershell DSC
- В конфигурации DSC Powershell перезагрузка должна выполняться на определенном этапе
- Пробовал два сценария: a) с использованием виртуальной машины с Windows Server 2016 Datacenter и b) Windows Server 2012
- Оба сценария сообщают об ошибке. а) Первый сбой при перезагрузке. b) Второй, однако, кажется, перезагружается и завершает работу с конфигурациями, но все же сообщается об ошибке при развертывании группы ресурсов и выходе VS.
- В обоих сценариях ошибка: "Конфигурация 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.Затем я заметил, что если на машине инициируется перезагрузка, конфигурация применяется успешно.Таким образом, обходной путь с перезапуском ....