在ARM模板构建VM后,我有一个在Azure自动化中运行的DSC脚本。它做了很多东西,其中一些我将展示,包括连接到域。在域之前,脚本的某些部分将更改实际上不会生效的服务器设置'直到机器重新启动。我有加入域部分使用这些作为DependsOn
,所以当机器加入域我知道它将重新启动并完全应用这些设置。
但是,前几天我注意到这些设置在以后(部署服务器后几天)发生了变化,并且DSC建议它没有配置,因为它在应用'重新启动后没有重新启动构造'脚本的一部分。
我很想知道是否有DSC资源会检查ResourceX和ResourceY是否被修改/应用/更改,如果是,请重新启动计算机以使更改生效。
Registry DisableUAC
# Only fully applied after a reboot if changed
{
Ensure = "Present"
Key = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
ValueName = "EnableLUA"
ValueData = "0"
ValueType = "Dword"
}
Script LocationCulture
# Only fully applied after a reboot if changed
{
GetScript =
{
Get-Culture | select -ExpandProperty Name
}
TestScript =
{
If (!((Get-Culture | select -ExpandProperty Name) -eq "en-GB")) {
$false
} else {
$true
}
}
SetScript =
{
Set-Culture en-GB
}
}
这是四个中的两个,需要重新启动才能应用。让机器只重启一次而不是每次重新校准后都是好的。
答案 0 :(得分:0)
我不认为有这样的资源,但如果资源在VM上明确设置了重启标志,你可以使用xPendingReboot
xPendingReboot Reboot1
{
Name = 'BeforeSoftwareInstall'
}
LocalConfigurationManager
{
RebootNodeIfNeeded = $True
}