ComputerManagementDsc
ComputerManagementDsc copied to clipboard
ScheduledTask
Details of the scenario you tried and the problem that is occurring
Following the example in the documentation for disabling a built-in task I am receiving the error message that "The parameter is incorrect." at the 'Disabling' step. See below for more details:
Verbose logs showing the problem
VERBOSE: [WVD-CSR-DEV-1]: [[ScheduledTask]DisableWUScheduledStart] Detected schedule type 'Once' for first trigger. VERBOSE: [WVD-CSR-DEV-1]: [[ScheduledTask]DisableWUScheduledStart] Current scheduled task values for task 'Scheduled Start' in '\Microsoft\Windows\WindowsUpdate' retrieved. VERBOSE: [WVD-CSR-DEV-1]: [[ScheduledTask]DisableWUScheduledStart] Disabling existing scheduled task 'Scheduled Start' in '\Microsoft\Windows\WindowsUpdate'. The parameter is incorrect. + CategoryInfo : InvalidArgument: (PS_ScheduledTask:) [], CimException + FullyQualifiedErrorId : HRESULT 0x80070057,Register-ScheduledTask + PSComputerName : localhost VERBOSE: [WVD-CSR-DEV-1]: LCM: [ End Set ] [[ScheduledTask]DisableWUScheduledStart] in 1.9150 seconds. The PowerShell DSC resource '[ScheduledTask]DisableWUScheduledStart' with SourceInfo 'C:\Users\asmith84\Dev\MSIXHostSettings.ps1::53::9::ScheduledTask' threw one or more non-terminating errors while running the Set-TargetResource functionality. These errors are logged to the ETW channel called Microsoft-Windows-DSC/Operational. Refer to this channel for more details. + CategoryInfo : InvalidOperation: (:) [], CimException + FullyQualifiedErrorId : NonTerminatingErrorFromProvider + PSComputerName : localhost
Suggested solution to the issue
Review/Debug and correct what may be causing this error. In general it seems that the module is using the "Register-ScheduledTask" cmdlet, but perhaps in the case of disabling an exisiting task, the Set-TargetResource method should be using "Disable-ScheudledTask" instead?
The DSC configuration that is used to reproduce the issue (as detailed as possible)
Configuration MSIXHostSettings {
Import-DscResource -ModuleName PsDesiredStateConfiguration
Import-DscResource -ModuleName ComputerManagementDsc
Node 'localhost' {
ScheduledTask DisableWUScheduledStart {
TaskName = "Scheduled Start"
TaskPath = "\Microsoft\Windows\WindowsUpdate\"
Enable = $false
}
}
}
The operating system the target node is running
OsName : Microsoft Windows 10 Enterprise for Virtual Desktops OsOperatingSystemSKU : 175 OsArchitecture : 64-bit WindowsVersion : 2009 WindowsBuildLabEx : 19041.1.amd64fre.vb_release.191206-1406 OsLanguage : en-US OsMuiLanguages : {en-US}
Version and build of PowerShell the target node is running
Name Value
PSVersion 5.1.19041.610 PSEdition Desktop PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...} BuildVersion 10.0.19041.610 CLRVersion 4.0.30319.42000 WSManStackVersion 3.0 PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1
Version of the DSC module that was used ('dev' if using current dev branch)
master - whatever is on PSGallery
Thanks for raising this @asmithgt .
This module does actually use Disable-ScheduledTask. See https://github.com/dsccommunity/ComputerManagementDsc/blob/master/source/DSCResources/DSC_ScheduledTask/DSC_ScheduledTask.psm1#L460
We do see the message Disabling existing scheduled task 'Scheduled Start' in '\Microsoft\Windows\WindowsUpdate'. in the logs you shared, so that would indicate that code is running.
I do notice that there appears to be a missing '\' at the end of the path shown in the logs. The DSC config you shared did include the '\'. This might be nothing but worth checking.