PS VM DSC extension changes RebootIfNeeded and ActionAfterReboot


I’m trying to run a simple configuration using ARM template and powershell dsc extensions. The configuration installs windows features related to remote desktop services. When it install the “RDS-RD-Server” feature, the script terminates with the following message in the log:

[2016-04-29T22:03:55] [VERBOSE] [RDSVM]: A reboot is required to progress further. Please reboot the system. Configuration will not be continued after the reboot. To continue configuration, use Start-DscConfiguration -UseExisting after reboot.

No matter what I set in the configuration regarding RebootIfNeeded or ActionAfterReboot, they are overwritten after the .meta.mof file generation. In the log file, we see that happening here:

[2016-04-29T21:57:53] Executing the configuration function to generate the MOF files.
[2016-04-29T21:57:54] Verifying metaconfiguration for reboot information…
[2016-04-29T21:57:54] WMF 5 or newer, Injecting RebootNodeIfNeeded = False and ActionAfterReboot = "StopConfiguration"

My questions are: why it changes the LCM and how can I have the machine rebooted and the configuration continued after the reboot.

Thank you.

DSC extension changes the value of RebootIfNeeded value to $false to preserve its own state before reboot happens. Extension then reboot the system itself. If extension is not rebooting the machine, chances are that it is somehow not detecting that a reboot is needed. On WMF 5.0 RTM
(Get-DscLocalConfigurationManager ).LCMState == PendingReboot
indicates to DSC extension that a reboot is needed.
I have seen some DSC resources that requires a reboot but doesn’t set the state correctly, Package was one of them.

Thank you for the reply Nitin.

The problem is that the configuration stops in after RDS-RD-Server installation. There are many other features to install after this one and application to configure.

I checked the powershell team blog and they released new versions (2.16 and 2.17) so I’ll retry the configuration with version 2.15 because it was working until recently.

The last few lines of the log file indicates that the machine reboots but nothing happens after that. Running the Get-DscLocalConfigurationManager, ActionAfterReboot property is “StopConfiguration”.

[2016-04-30T00:57:24] LCM state is PendingReboot
[2016-04-30T00:57:24] A reboot is required by the configuration. Rebooting…
[2016-04-30T00:57:24] Settings handler status to \u0027transitioning\u0027 (C:\Packages\Plugins\Microsoft.Powershell.DSC\\Status\0.status)",
“lang”: “en-US”
“timestampUTC”: “2016-04-30 00:57:24Z”,
“version”: “1.0”

So I executed the script on version 2.15 and it worked flawlessly. I’ll file a bug to the Powershell team about this.

Did you finally file a bug for this issue? I was facing a similar problem installing VS2015 through the Package DSC resource using the 2.17 DSC extension handler. Reverting to 2.15 fixed it for me as well.