ComputerManagementDsc icon indicating copy to clipboard operation
ComputerManagementDsc copied to clipboard

ScheduledTask

Open asmithgt opened this issue 4 years ago • 1 comments

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

asmithgt avatar Feb 24 '21 12:02 asmithgt

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.

PlagueHO avatar Feb 25 '21 07:02 PlagueHO