2015-03-02 57 views
1

我試圖使用文件資源來複制大量文件,其中大約20,000個文件跨越了3000個目錄。儘管DSC在部署文件時起作用,但當我嘗試對它們進行測試時遇到了問題。一切工作正常,如果我只有在資源中的幾個文件,但如果我在我的全套加載中打破的事情。我可以在目標節點上獲得Test-DSCConfiguration並獲得True結果(將我的測試服務器上的內存從4個演出增加到16個演出後),但Get-DSCConfiguration引發此錯誤:導致WBEM錯誤的PowerShell DSC文件資源

Get-DscConfiguration:WBEM已超出服務器限制(例如內存,連接...)。 在線:1個字符:1 + Get-DscConfiguration + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .gurationManager)[獲取 -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,但是那個人投擲了mem ory錯誤,所以一旦我添加了更多的系統,我至少可以從測試中獲得真實的結果。但Get-DSCConfiguration仍然不起作用。

任何人都有任何洞察到WBEM錯誤?

+0

此錯誤還應該在應用程序(基於內存)事件日誌中記錄有關違反WBEM限制的更多詳細信息。如果你發送,我們可以從那裏去。此外,您可以發送$ psversiontable WBEM是DSC LCM運行的基礎架構,顯然此操作高於允許的資源配額。 – TravisEz13 2016-06-19 21:25:27

回答

0

無可否認,這是一個猜測,但我認爲Get-DSCConfiguration可能只是沒有足夠的測試,正在觸及某種內部限制。

事情是,Get-DSCResource實際上並未用作DSC的一部分(意味着LCM不會調用它,PowerShell不會在生成配置時使用它,Start-DSCConfiguration不會使用它等)。

如果你手動調用它,它只會被調用,所以在很多方面它只是一個存根。

當我編寫自定義資源時,我實際上嘗試使Get-有用;通常通過Set-和/或Test-內部呼叫Get-,但這樣做可能是一個挑戰。

由於這個原因,給定的資源不會經過Get-DSCConfiguration的良好測試是可行的。

對不起,我對錯誤本身沒有任何見解。文件資源不是腳本資源;我認爲這實際上是本機編譯的代碼,所以很可能只有微軟才能回答這個問題。

+0

所以我一直在使用Get-DSCConfiguration,因爲我在我的早期測試階段,想驗證客戶端上的配置。但是我認爲,從長遠來看,只要我看到「一致性引擎運行成功」的DSC事件日誌,我就不需要這樣做。我會知道一切都很好。 – 2015-03-02 23:07:26

+0

你可以用'Invoke-CimMethod -Namespace'root/Microsoft/Windows/DesiredStateConfiguration'-ClassName'MSFT_DSCLocalConfigurationManager'-MethodName'PerformRequiredConfigurationChecks'-Arguments @ {'Flags'= [uint32] 1} -Verbose'手動應用,也向你展示了很多。另外在[DSC資源工具包](https://gallery.technet.microsoft.com/scriptcenter/DSC-Resource-Kit-All-c449312d)中的'xDscDiagnostics'有助於讀取日誌。 – briantist 2015-03-02 23:17:51