Довольно часто на терминальных серверах 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