Довольно часто на терминальных серверах Citrix повреждается репозиторий WMI. Это приводит к тормозам и глюкам, а также нарушает работу некоторых важных функций и программ. Например. перестает корректно работать ThinPrint Terminal Extension - софтина нужная для прописывания принтеров с принтсервера ThinPrint.
Вот в этой статье: https://blogs.technet.microsoft.com/askperf/2014/08/08/wmi-repository-corruption-or-not/ приведены ркомендации по восстановлению работоспособности WMI.
В двух словах - сначала следует попробывать вылечить его штатными средствами, а если это не поможет - пересоздать.
Лечение WMI штатными средствами
Лечение штатными средствами включает в себя две процедуры - проверка и исправление ошибок:
winmgmt /verifyrepository winmgmt /salvagerepository winmgmt /verifyrepository
При этом, в случае с ThinPrint, если WMI сообщает что он consistent, то нужно переустановить ThinPrint.
Пересоздание репозитория WMI
Ниже приведен скрипт, которым я пользуюсь для починки репозитория и тихой переустановки программ, которые зависят от WMI. Скрипт останавливает антивирус, останавливает службы, зависящие от WMI, затем чистит репозиторий и заполняет его заново, а потом переустанавливает ThinPrint.
@echo off sc config winmgmt start= disabled echo "Please Unload Trendmicro Antivirus" net stop "SMS Agent Host" /y net stop "OfficeScan NT Listener" /y net stop "IP Helper" /y net stop "OfficeScan NT Listener" /y net stop "HP ProLiant Agentless Management Service" /y echo "Ready to stop WMI service" pause net stop winmgmt /y %systemdrive% cd %windir%\system32\wbem for /f %%s in ('dir /b *.dll') do regsvr32 /s %%s wmiprvse /regserver winmgmt /resetrepository sc config winmgmt start= auto net start winmgmt for /f %%s in ('dir /s /b *.mof *.mfl') do mofcomp %%s net start "SMS Agent Host" /y net start "OfficeScan NT Listener" /y net start "IP Helper" /y echo "Ready to reinstall ThinPrint" pause start /wait msiexec.exe /qn /x "\\stor01\Software\terminal\ThinPrint\ThinPrint Engine 9.0.msi" /norestart start /wait msiexec.exe /qn /i "\\stor01\Software\terminal\ThinPrint\ThinPrint Engine 9.0.msi" SERVERROLE=TSE /norestart echo "Done! Ready to apply ThinPrint Rules" pause
Discussion