Довольно часто на терминальных серверах 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
Enter your comment. Wiki syntax is allowed:
 
  • ms_windows_ms_sql/wmi_repository_repair.txt
  • Last modified: 2019/02/11 09:13
  • by 127.0.0.1