2010-09-09 2 views
0

Я пытаюсь запустить следующий код VBScript на Win2k SP4:WMI namespace root cimv2 не доступно на Win2k?

strComputer = "."  
Set oWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 

Он работает на XP и Win7 без проблем, но на этом 2k поле я получаю следующее сообщение об ошибке:

C:\test_wmi.vbs(3, 1) (null): 0x8004100E 

Описание ошибки: Неизвестное пространство имен не найдено.

Когда я опрашивать пространство имен на корню, используя этот код:

strComputer = "." 

Set objSWbemServices = GetObject("winmgmts:\\" & strComputer & "\root") 
Set colNameSpaces = objSwbemServices.InstancesOf("__NAMESPACE") 

For Each objNameSpace In colNameSpaces 
Wscript.Echo objNameSpace.Name 
Next 

я получаю это:

DEFAULT 
SECURITY 
WMI 
directory 
aspnet 

Насколько я читал, CIMV2 пространство имен должно быть там. Есть идеи???

Спасибо!

yorch.

ответ

1

Наконец, то, что работал для меня заключается в восстановлении Репозиторий WMI. Это то, что я сделал:

  • Остановите службу WMI (чистая остановка WinMgmt)
  • Перейти к% окон%/system32/WBEM (в моем win2k, WINNT, на XP было бы окна)
  • Rename или удалить каталог хранилища
  • Запустите службу WMI снова (чистый старт WinMgmt)

Кроме того, этот метод мог бы помочь (переустановить WMI в реестр):

winmgmt /clearadap 
winmgmt /kill 
winmgmt /unregserver 
winmgmt /regserver 
winmgmt /resyncperf 

С уважением, Uros за вашу помощь, как веб-трансляции, так и инструмент были очень полезными.

1

Да, он должен быть там. Существует инструмент под названием wmidiag.vbs, который может помочь вам диагностировать проблемы WMI, но прежде чем использовать его попробовать смотреть на пару «веб-трансляции», которые объясняют, как использовать его (here и here)

+0

Спасибо, очень интересные веб-трансляции и очень удобный инструмент, но когда я запустил инструмент WMIDiag, я получил тот же ответ (Пространство имен не может быть найдено), и для этого не было предложено решение. – yorch

1

Я был на Windows Server 2003, Service Pack 2, и решение yorch не работало для меня. Наконец-то я нашел эту страницу, и следовали инструкциям по Server 2003:

http://www.djordjepejic.com/kb68/index.php/article/winmgmt-could-not-initialize-the-core-parts-solved-even/

For Windows Server 2003 Use the following command to detect and repair a corrupted WMI Repository:

rundll32 wbemupgd, RepairWMISetup

Смежные вопросы