Один из моих плагинов Nagios для мониторинга сетевой нагрузки вызывает у меня проблемы на одном сервере Windows 2008 R2 (из 600). Вы можете скачать плагин здесь: https://github.com/willemdh/check_ms_win_network_load
Проблема возникает при попытке
Get-WmiObject Win32_PerfFormattedData_Tcpip_NetworkInterface
Что приводит к:
Get-WmiObject : Invalid class "Win32_PerfFormattedData_Tcpip_NetworkInterface"
At line:1 char:1
+ Get-WmiObject Win32_PerfFormattedData_Tcpip_NetworkInterface
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidType: (:) [Get-WmiObject], ManagementException
+ FullyQualifiedErrorId : GetWMIManagementException,Microsoft.PowerShell.Commands.GetWmiObjectCommand
Проблема началась, когда сетевая карта была заменена в VMware с «E1000» на «VMXNET 3». Поскольку я подозревал проблемы с WMI, я уже пробовал следующие шаги, чтобы попытаться решить их:
winmgmt /salvagerepository %windir%\System32\wbem
winmgmt /resetrepository %windir%\System32\wbem
Rename the repository folder located at %windir%\System32\wbem\repository to repository.old
winmgmt /resyncperf
wmiadap /f
wmiadap /r
Между каждым из вышеперечисленных шагов я останавливал WMI и перезагружал сервер. Ничего не помогло. Что еще я могу сделать, чтобы снова запросить класс Win32_PerfFormattedData_Tcpip_NetworkInterface?
AFAIK Win32_PerfFormattedData_Tcpip_NetworkInterface класс зависит от PerfLib. Вы проверяли, как выставлялись ваши счетчики производительности для этого сервера? Попробуйте заново создать счетчик производительности.
Попробуй это:
(get-counter -ListSet 'network adapter').Counter
или это для win7 и ранее:
(get-counter -ListSet 'network interface').Counter
Запустите perfmon и найдите счетчики сетевого адаптера.