@@ -6,6 +6,7 @@ function Invoke-ComputerMaintenance {
66 [string ]$ComputerName ,
77 [int ]$PreventiveLockTimeout = $ModuleWidePreventiveLockTimeout ,
88 [System.TimeSpan ]$PreventiveLockThreshold = $ModuleWidePreventiveLockThreshold ,
9+ [string ]$SkipPreventivelyLockedFullyQualifiedErrorId = $ModuleWideSkipPreventivelyLockedFullyQualifiedErrorId ,
910 [switch ]$SkipNotLockable = $ModuleWideSkipNotLockable ,
1011 [switch ]$SkipPreventivelyLocked = $ModuleWideSkipPreventivelyLocked ,
1112 [switch ]$EnableMaintenanceLog = $ModuleWideEnableMaintenanceLog
@@ -44,8 +45,8 @@ function Invoke-ComputerMaintenance {
4445 Write-Debug - Message ' if ($PendingReboot.ComponentBasedServicing)'
4546 if ($PendingReboot.ComponentBasedServicing ) {
4647 # Sometimes, when CBS requires reboot, search for updates hangs up. Therefore, we need to reboot the machine first.
47- Write-Debug - Message (' $ComputerWorkload = Initialize-ComputerMaintenance -ComputerName '' {0}'' -HostLock ([ref]$HostLock) -DestinationHostLock ([ref]$DestinationHostLock) -SkipNotLockable:${1} -SkipPreventivelyLocked:${2}' -f $ComputerName , $SkipNotLockable , $SkipPreventivelyLocked )
48- $ComputerWorkload = Initialize-ComputerMaintenance - ComputerName $ComputerName - HostLock ([ref ]$HostLock ) - DestinationHostLock ([ref ]$DestinationHostLock ) - SkipNotLockable:$SkipNotLockable - SkipPreventivelyLocked:$SkipPreventivelyLocked
48+ Write-Debug - Message (' $ComputerWorkload = Initialize-ComputerMaintenance -ComputerName '' {0}'' -HostLock ([ref]$HostLock) -DestinationHostLock ([ref]$DestinationHostLock) -SkipNotLockable:${1} -SkipPreventivelyLocked:${2} -SkipPreventivelyLockedFullyQualifiedErrorId '' {3} '' ' -f $ComputerName , $SkipNotLockable , $SkipPreventivelyLocked , $SkipPreventivelyLockedFullyQualifiedErrorId )
49+ $ComputerWorkload = Initialize-ComputerMaintenance - ComputerName $ComputerName - HostLock ([ref ]$HostLock ) - DestinationHostLock ([ref ]$DestinationHostLock ) - SkipNotLockable:$SkipNotLockable - SkipPreventivelyLocked:$SkipPreventivelyLocked - SkipPreventivelyLockedFullyQualifiedErrorId $SkipPreventivelyLockedFullyQualifiedErrorId
4950 Write-Debug - Message (' $ComputerWorkload: '' {0}'' ' -f [string ]$ComputerWorkload )
5051
5152 Write-Debug - Message (' $HostLock: '' {0}'' ' -f $HostLock )
@@ -72,8 +73,8 @@ function Invoke-ComputerMaintenance {
7273 $IsMaintenanceNeeded = Test-MaintenanceNeeded - ComputerName $ComputerName
7374 Write-Debug - Message (' $IsMaintenanceNeeded = ${0}' -f $IsMaintenanceNeeded )
7475 if ($IsMaintenanceNeeded ) {
75- Write-Debug - Message (' $ComputerWorkload = Initialize-ComputerMaintenance -ComputerName '' {0}'' -HostLock ([ref]$HostLock) -DestinationHostLock ([ref]$DestinationHostLock) -SkipNotLockable:${1} -SkipPreventivelyLocked:${2}' -f $ComputerName , $SkipNotLockable , $SkipPreventivelyLocked )
76- $ComputerWorkload = Initialize-ComputerMaintenance - ComputerName $ComputerName - HostLock ([ref ]$HostLock ) - DestinationHostLock ([ref ]$DestinationHostLock ) - SkipNotLockable:$SkipNotLockable - SkipPreventivelyLocked:$SkipPreventivelyLocked
76+ Write-Debug - Message (' $ComputerWorkload = Initialize-ComputerMaintenance -ComputerName '' {0}'' -HostLock ([ref]$HostLock) -DestinationHostLock ([ref]$DestinationHostLock) -SkipNotLockable:${1} -SkipPreventivelyLocked:${2} -SkipPreventivelyLockedFullyQualifiedErrorId '' {3} '' ' -f $ComputerName , $SkipNotLockable , $SkipPreventivelyLocked , $SkipPreventivelyLockedFullyQualifiedErrorId )
77+ $ComputerWorkload = Initialize-ComputerMaintenance - ComputerName $ComputerName - HostLock ([ref ]$HostLock ) - DestinationHostLock ([ref ]$DestinationHostLock ) - SkipNotLockable:$SkipNotLockable - SkipPreventivelyLocked:$SkipPreventivelyLocked - SkipPreventivelyLockedFullyQualifiedErrorId $SkipPreventivelyLockedFullyQualifiedErrorId
7778 Write-Debug - Message (' $ComputerWorkload: '' {0}'' ' -f [string ]$ComputerWorkload )
7879 Write-Debug - Message (' $HostLock: '' {0}'' ' -f $HostLock )
7980 Write-Debug - Message ' if ($HostLock)'
@@ -90,8 +91,8 @@ function Invoke-ComputerMaintenance {
9091 # If the machine does not need any updates, but just a reboot, let's reboot it.
9192 Write-Debug - Message (' $PendingReboot.IsRebootPending: '' {0}'' ' -f $PendingReboot.IsRebootPending )
9293 if ($PendingReboot.IsRebootPending ) {
93- Write-Debug - Message (' $ComputerWorkload = Initialize-ComputerMaintenance -ComputerName '' {0}'' -HostLock ([ref]$HostLock) -DestinationHostLock ([ref]$DestinationHostLock) -SkipNotLockable:${1} -SkipPreventivelyLocked:${2}' -f $ComputerName , $SkipNotLockable , $SkipPreventivelyLocked )
94- $ComputerWorkload = Initialize-ComputerMaintenance - ComputerName $ComputerName - HostLock ([ref ]$HostLock ) - DestinationHostLock ([ref ]$DestinationHostLock ) - SkipNotLockable:$SkipNotLockable - SkipPreventivelyLocked:$SkipPreventivelyLocked
94+ Write-Debug - Message (' $ComputerWorkload = Initialize-ComputerMaintenance -ComputerName '' {0}'' -HostLock ([ref]$HostLock) -DestinationHostLock ([ref]$DestinationHostLock) -SkipNotLockable:${1} -SkipPreventivelyLocked:${2} -SkipPreventivelyLockedFullyQualifiedErrorId '' {3} '' ' -f $ComputerName , $SkipNotLockable , $SkipPreventivelyLocked , $SkipPreventivelyLockedFullyQualifiedErrorId )
95+ $ComputerWorkload = Initialize-ComputerMaintenance - ComputerName $ComputerName - HostLock ([ref ]$HostLock ) - DestinationHostLock ([ref ]$DestinationHostLock ) - SkipNotLockable:$SkipNotLockable - SkipPreventivelyLocked:$SkipPreventivelyLocked - SkipPreventivelyLockedFullyQualifiedErrorId $SkipPreventivelyLockedFullyQualifiedErrorId
9596 Write-Debug - Message (' $ComputerWorkload: '' {0}'' ' -f [string ]$ComputerWorkload )
9697 Write-Debug - Message (' $HostLock: '' {0}'' ' -f $HostLock )
9798 Write-Debug - Message ' if ($HostLock)'
@@ -113,8 +114,13 @@ function Invoke-ComputerMaintenance {
113114 catch {
114115 Write-Debug - Message (' ENTER CATCH {0}' -f $MyInvocation.MyCommand.Name )
115116
116- Write-Debug - Message (' {0}: $PSCmdlet.ThrowTerminatingError($_)' -f $MyInvocation.MyCommand.Name )
117- $PSCmdlet.ThrowTerminatingError ($_ )
117+ Write-Debug - Message (' $_.FullyQualifiedErrorId: '' {0}'' ' -f $_.FullyQualifiedErrorId )
118+ Write-Debug - Message (' if ($_.FullyQualifiedErrorId -ne '' {0}'' )' -f $SkipPreventivelyLockedFullyQualifiedErrorId )
119+ if ($_.FullyQualifiedErrorId -ne $SkipPreventivelyLockedFullyQualifiedErrorId ) {
120+
121+ Write-Debug - Message (' {0}: $PSCmdlet.ThrowTerminatingError($_)' -f $MyInvocation.MyCommand.Name )
122+ $PSCmdlet.ThrowTerminatingError ($_ )
123+ }
118124
119125 Write-Debug - Message (' EXIT CATCH {0}' -f $MyInvocation.MyCommand.Name )
120126 }
0 commit comments