Eu criei esta solução
Eu gostaria de encontrar uma maneira melhor de fazer isso. Mas de qualquer maneira isso funciona para mim
Eu ainda acredito que o processo DSC deve me notificar de alguma forma, não apenas via Write-Verbose, porque no meu caso, este processo é iniciado como parte do nosso Processo de Integração Contínua
[int]$maximumAttempts = 5
[int]$attempt = 0
[ValidateNotNull()][guid]$dscResTmp = [guid]::NewGuid()
[ValidateNotNullOrEmpty()][string]$dscResPathTmp = Join-Path $baseFolderPathTmp "$dscResTmp.log"
do
{
[bool]$stopLoop = $false
[int]$attempt = ++$attempt
Start-DscConfiguration -Wait -Force -Path $folderPathTmp 4> $dscResPathTmp
[string[]]$rebootServerCoincidences = Select-String -Pattern "reboot" -Path $dscResPathTmp
if ($rebootServerCoincidences.Length -le 0)
{
[bool]$stopLoop = $true
}
else
{
Write-Warning ($rebootServerCoincidences -join [Environment]::NewLine)
}
}
while($stopLoop -eq $false -and $attempt -le $maximumAttempts)
if ($stopLoop -eq $false)
{
Write-Warning "Max attempts reached"
}