Файловый ресурс PowerShell DSC, вызывающий ошибку WBEM

Я пытаюсь использовать ресурс File для копирования большого количества файлов, около 20 000 из них охватывают 3000 каталогов. Хотя DSC работает над развертыванием файлов, я сталкиваюсь с проблемой, когда пытаюсь проверить их. Все работает нормально, если у меня всего несколько файлов в ресурсе, но если я когда-нибудь загружу свой полный набор, то все ломается. Я могу получить Test-DSCConfiguration на целевом узле и получить результат True (после увеличения памяти на моем тестовом сервере с 4 гигабайт до 16 гигабайт), но Get-DSCConfiguration выдает эту ошибку:

Get-DscConfiguration : превышены ограничения сервера WBEM (например, память, подключения и т. д.). В строке: 1 символ: 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, но он выдавал ошибки памяти, поэтому, как только я добавил в систему больше, я мог, по крайней мере, получить истинный результат теста. Но Get-DSCConfiguration по-прежнему не работает.

У кого-нибудь есть какие-либо сведения об ошибках WBEM?


person Rich Hopkins    schedule 02.03.2015    source источник
comment
Эта ошибка также должна иметь событие в журнале событий приложения (на основе памяти) с более подробной информацией о нарушении ограничения WBEM. Если вы пошлете это, мы сможем уйти оттуда. Кроме того, вы можете отправить $psversiontable WBEM — это инфраструктура, в которой работает DSC LCM, и, по-видимому, эта операция превышает разрешенные квоты ресурсов.   -  person TravisEz13    schedule 20.06.2016


Ответы (2)


По общему признанию, это предположение, но я думаю, что Get-DSCConfiguration, вероятно, просто недостаточно протестирован и достигает какого-то внутреннего предела.

Дело в том, что Get-DSCResource на самом деле не используется как часть DSC (имеется в виду, что LCM не вызывает его, PowerShell не использует его при генерации конфигов, Start-DSCConfiguration не использует его и т. д.).

Он вызывается только в том случае, если вы вызываете его вручную, поэтому во многих отношениях сейчас это просто заглушка.

Когда я пишу пользовательские ресурсы, я стараюсь сделать Get- полезным; обычно заставляя Set- и/или Test- вызывать Get- внутренне, но это может быть проблемой.

По этой причине вполне возможно, что данный ресурс не был хорошо протестирован с помощью Get-DSCConfiguration.

Извините, у меня нет никакого понимания самой ошибки. Ресурс File не является ресурсом скрипта; Я думаю, что на самом деле это собственный скомпилированный код, поэтому, вероятно, только Microsoft может ответить на этот вопрос.

person briantist    schedule 02.03.2015
comment
Итак, я часто использую Get-DSCConfiguration, потому что я нахожусь на ранней стадии тестирования и хотел проверить конфигурацию на клиенте. Но я предполагаю, что в долгосрочной перспективе это не то, что мне нужно делать, пока я вижу, что механизм журнала согласованности событий DSC был успешно запущен. Я буду знать, что все хорошо. - person Rich Hopkins; 03.03.2015
comment
Вы можете вручную подать заявку с помощью Invoke-CimMethod -Namespace 'root/Microsoft/Windows/DesiredStateConfiguration' -ClassName 'MSFT_DSCLocalConfigurationManager' -MethodName 'PerformRequiredConfigurationChecks' -Arguments @{ 'Flags' = [uint32]1 } -Verbose, и это также может многое вам показать. Также xDscDiagnostics в наборе ресурсов DSC полезно читайте журналы. - person briantist; 03.03.2015

Вы можете попробовать увеличить лимиты сеансов WSMAN. Вот некоторая информация об этом: http://blogs.msdn.com/b/powershell/archive/2010/05/03/configuring-wsman-limits.aspx

Увеличьте MaxMemoryPerShellMB до большего значения, а затем попробуйте тот же ресурс.

person ravikanth    schedule 11.03.2015