繁体   English   中英

PowerShell DSC文件资源导致WBEM错误

[英]PowerShell DSC File Resource causing WBEM error

我正在尝试使用文件资源来复制很多文件,其中大约20,000个文件跨越3000个目录。 尽管DSC确实可以部署文件,但是在尝试测试文件时遇到了问题。 如果我在资源中只有几个文件,那么一切都可以正常工作,但是如果我在这种情况下加载了我的全部文件,一切都会很好。 我可以在目标节点上获得Test-DSCConfiguration并获得True结果(将我的测试服务器上的内存从4 gig增加到16 gig后),但是Get-DSCConfiguration抛出此错误:

Get-DscConfiguration:超出了WBEM Server限制(例如,内存,连接等)。 在第1行:char:1 + Get-DscConfiguration + ~~~~~~~~~~~~~~~~~~~ + + CategoryInfo:ResourceBusy:(MSFT_DSCLocalConfigurationManager:root / Microsoft / ... gurationManager)[ Get -DscConfiguration],CimException + FullyQualifiedErrorId:MI RESULT 27,Get-DscConfiguration

配置很简单:

File ServerBox { Ensure = "Present" Type = "Directory" Recurse = $true MatchSource = $true Force = $true Checksum = "modifiedDate" SourcePath = "\\\\DevOps\\ServerBox" DestinationPath = "D:\\ServerBox" }

起初我以为是内存问题,因为我什至无法运行Test-DSCConfiguration,但是那引发了内存错误,所以一旦我向系统中添加了更多内容,我至少可以从Test中得到True的结果。 但是Get-DSCConfiguration仍然不起作用。

有人对WBEM错误有任何见解吗?

诚然,这是一个猜测,但是我认为Get-DSCConfiguration可能只是未经足够的测试Get-DSCConfiguration达到某种内部限制。

问题是, Get-DSCResource实际上并未用作DSC的一部分(这意味着LCM不会调用它,PowerShell在生成配置时不使用它, Start-DSCConfiguration不使用它,等等)。

仅当您手动调用它时,它才会被调用,因此从许多方面来说,它现在只是一个存根。

当我编写自定义资源时,我实际上试图使Get-有用。 通常通过内部进行Set-和/或Test- Call Get- ,但这可能是一个挑战。

因此,使用Get-DSCConfiguration对给定资源进行良好测试是Get-DSCConfiguration

抱歉,我对错误本身没有任何了解。 文件资源不是脚本资源; 我认为这实际上是本机编译的代码,因此很可能只有Microsoft才能回答。

您可以尝试增加WSMAN会话限制。 这是一些有关此的信息: http : //blogs.msdn.com/b/powershell/archive/2010/05/03/configuring-wsman-limits.aspx

MaxMemoryPerShellMB增加到一个较大的值,然后尝试相同的资源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM