Migration In place Windows 2012 R2 vers Windows 2016, problèmes Windows Update et tâches planifiées
Tu as mis à jour ton serveur Windows 2012 R2 vers Windows 2016 avec la méthode Upgrade in place.
Les mises à jours cumulatives ne s'installent pas sur Windows 2016, après l'application et le redémarrage l'annulation des mises à jour est lancée, c'est donc un échec !
La solution efface la tâche planifiée suivante :
"Microsoft\Windows\PI\SecureBootEncodeUEFI"
Ou la clef de registre
"HKLM\Software\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\PI\SecureBootEncodeUEFI"
C'est un problème lié aux tâches planifiées lors de la migration vers Windows 2016.
Une autre anomalie existe, les tâches planifiées à la racine du scheduler disparaissent (sont fantôme) lors de la mise à jour vers 2016. Pense à les exporter et réimporter après la mise à jour.
Un petit script powershell
#Avant l'upgrade: Export en XML des tâches planifiées de la racine
$LogFile = "C:\SVG_tasks\ExportScheduledTasks.log"
$BackupPath = "C:\SVG_tasks"
$TaskFolders = "\"
Start-Transcript -Path $LogFile
Write-Output "Start exporting of scheduled tasks."
Foreach ($TaskFolder in $TaskFolders)
{
Write-Output "Task folder: $TaskFolder"
If($TaskFolder -ne "\") { md $BackupPath$TaskFolder | Out-Null }
$Tasks = Get-ScheduledTask -TaskPath $TaskFolder -ErrorAction SilentlyContinue
Foreach ($Task in $Tasks)
{
$TaskName = $Task.TaskName
If(($TaskName -match "User_Feed_Synchronization") -or ($TaskName -match "Optimize Start Menu Cache Files"))
{
}
Else
{
$TaskInfo = Export-ScheduledTask -TaskName $TaskName -TaskPath $TaskFolder
$TaskInfo | Out-File "$BackupPath$TaskFolder$TaskName.xml"
Write-Output "Saved file $BackupPath$TaskFolder$TaskName.xml"
}
}
}
Write-Output "Exporting of scheduled tasks finished."
Stop-Transcript
#Après l'upgrade : Import des tâches à partir des fichiers XML
$files = Get-ChildItem -Path "C:\SVG_tasks" -Filter "*.xml"
foreach ($file in $files) {
$taskName = $file.BaseName
Register-ScheduledTask -Xml (Get-Content $file.FullName | Out-String) -TaskName $taskName -User domain\toto -Password tata
Write-Host "La tâche $taskName a été importée à partir de $file"
Aucun commentaire :
Enregistrer un commentaire