How do I resolve “Cannot invoke the SendConfigurationApply method.” when performing Start-DscConfiguration?

爱⌒轻易说出口 提交于 2019-11-29 17:32:25

问题


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:

  1. "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.
  2. "Delete all local .mof files and try again", which hasn't worked for me either.
  3. 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).

回答1:


You could also try executing the start-dscconfiguration command with the -Force option

Start-DscConfiguration -Force ...



回答2:


I've found the following works pretty well to reset DSC. Note this will delete the local configuration, so you will need to re-apply the machinename.meta.mof file.

#Remove all mof files (pending,current,backup,MetaConfig.mof,caches,etc)
rm C:\windows\system32\Configuration\*.mof*
#Kill the LCM/DSC processes
gps wmi* | ? {$_.modules.ModuleName -like "*DSC*"} | stop-process -force

At this point you have a clean system ready to be configured using Set-DscLocalConfigurationManager and updated using Update-DscConfiguration -Wait -Verbose -CimSession machinename

So far the only thing this hasn't fixed is a corrupted $env:psmodulepath or missing scheduled tasks for Consistency/Reboot checks. Update: According to this item on connect the scheduled tasks for Consistency/Reboot were removed in the WMF 5.0 February preview.



来源:https://stackoverflow.com/questions/25877068/how-do-i-resolve-cannot-invoke-the-sendconfigurationapply-method-when-perform

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!