Another way to phrase the question less specifically: What is the correct way to 'reset' the DSC processes on a target machine?
I've created a DSC configuration that I'm iterating on right now, and I am adding new Package configuration which I've gotten wrong. I determined that by forgetting to supply the /quiet argument to an MSI installer in a Package block I can cause the Start-DscConfiguration cmdlet to 'hang'.
At the onset of this 'hang' I stop the DSC configuration operation on my local machine and attempt to correct the configuration problem (by adding the /quiet argument in my example) then I restart the DSC operation. Now I am seeing the following for my remote machines during the operation:
Cannot invoke the SendConfigurationApply method. The PerformRequiredConfigurationChecks method is in progress and must return before SendConfigurationApply can be invoked.
+ CategoryInfo : NotSpecified: (root/Microsoft/...gurationManager:String) [], CimException
+ FullyQualifiedErrorId : MI RESULT 1
+ PSComputerName : REMOTEMACHINE20
Unfortunately, visiting the remote PC being configured I see a similar error message, and rebooting the PC doesn't seem to rectify the error.
I've seen some posts online regarding this problem, and the three I've found thus far suggest:
- "Just wait a while and it will resolve itself", which hasn't worked for me (maybe I'm impatient...). Not a tenable long-term solution.
- "Delete all local .mof files and try again", which hasn't worked for me either.
- Stop all processes with 'wmi' in the name and restart the winrm service on the target machine(s). This has gotten me unblocked, but I am hopeful there is a better way to do this. (If I don't hear a better method in the next few days I'll answer this myself with this procedure to get the results required).