- 990x.top
- Простой компьютерный блог для души)
- WBEM — что это за папка?
- WBEM — что это такое?
- WBEM — как уменьшить размер?
- Как восстановить или перестроить репозиторий WMI в Windows 10
- Восстановить или перестроить репозиторий WMI в Windows
- 1] Сбросить WMI Repository
- 2] Принудительное восстановление WMI
- WMI Самовосстановление не работает
- 3] WMI Fixer Tool
- WMI на службе системного администратора.
990x.top
Простой компьютерный блог для души)
WBEM — что это за папка?
Приветствую друзья! Сегодня постараемся узнать что это за папка WBEM, зачем она нужна, может ее вообще можно удалить? Постараюсь все узнать и написать простыми словами.
WBEM — что это такое?
Папка компонента WMI Provider Host, который необходим для работы некоторого ПО.
WBEM расшифровывается как Web-Based Enterprise Management (управление предприятием через интернет). Представляет из себя инструментарий управления, предназначенный для просмотра и изменения классов, экземпляров и методов CIM (Common Information Model — общая модель данных) при разработке поставщиков и программ WMI (Windows Management Instrumentation — инструментарий управления Windows).
Расположена по такому пути:
Внутри есть файл wmiprvse.exe:
Это компонент WMI Provider Host — позволяет получать программам информацию о системе (состояние ее и характеристики). Вообще WMI нужно для работы некоторых программ.
WBEM — как уменьшить размер?
Внимание! Способ уменьшить размер WBEM почти безопасный, но есть низкая вероятность, что будут глюки после удаления данных, и что даже точка восстановления не поможет.
Важно! Провел эксперимент. В Windows 10 в обычном режиме, не останавливая службу, при помощи утилиты Unlocker удалил папку repository. Для удаления нужна была перезагрузка. После — полет нормальный, папка repository создалась заново с нулевым размером, глюков не заметил.
Сперва обязательно создайте точку восстановления:
- Зажмите Win + R, укажите команду control или control panel, нажмите ОК.
- Откроется панель управления, здесь найдите значок Система, запустите.
- Далее слева нажмите Защита системы.
- Выберите системный диск (С) и нажмите кнопку Создать.
- Укажите название точки, например До очистки папки WBEM. Нажмите Создать.
Скорее всего папка WBEM много весит из-за другой папки внутри — repository, также могут быть еще копии с названием repository.xxx, где xxx — случайные цифры. Алгоритм действий:
- Проверьте, что у вас отключен контроль учетных записей UAC.
- Перезагружаемся в безопасный режим.
- Останавливаем службу Инструментарий управления Windows (Windows Management Instrumentation).
- Открываем C:\Windows\System32\wbem
- Теперь главное. Внутри WBEM будет папка repository, также могут быть папки-клоны с названием repository.xxx, где xxx — случайные цифры. Если папок repository.xxx много и они весят прилично — удаляем их (предварительно скопировав в другое место). Если папок repository.xxx нет, а есть только repository — тогда удаляем ее (предварительно скопировав в другое место). Если будут проблемы с удалением — используем утилиту Unlocker.
- Выполняем перезагрузку.
- При первой перезагрузке могут быть проблемы — подвисания, не обращаем внимание, дожидаемся полной загрузки и потом снова перезагружаемся.
- Вторая перезагрузка должна уже быть быстрее, а третья — нормальной.
- Если отключали контроль учетных записей (UAC), то включаем его обратно.
Если после этого будут проблемы:
- Восстанавливаем ПК до предыдущего состояния при помощи точки восстановления.
- Если проблемы все равно останется — возвращаем назад папки repository, но только в безопасном режиме, отключив службу. Хотя скорее всего это не потребуется, точка восстановления должна все восстановить.
Как восстановить или перестроить репозиторий WMI в Windows 10
Часто Репозиторий WMI поврежден, что приводит к сбою загрузки поставщика. В этом руководстве мы расскажем, как восстановить или перестроить репозиторий WMI в Windows 10. Для тех, кто не в курсе, инструментарий управления Windows или WMI представляет собой набор спецификаций Microsoft для консолидации управления устройства и приложения в сети. Это база данных, в которой хранится метаинформация и определения для классов WMI . Только используя их, условия систем могут быть известны.
Репозиторий доступен здесь –
% WINDIR% \ system32 \ Wbem \ Repository
Вкратце, он предоставляет конечным пользователям статус локальной или удаленной компьютерной системы.
Примечание . Не используйте это на компьютере с кластером Server 2012
Восстановить или перестроить репозиторий WMI в Windows
Существуют инструменты командной строки для исправления или восстановления хранилища WMI. Тем не менее, Microsoft предполагает, что лучше всего проверить, есть ли коррупция.
Ниже приведен список ошибок и проблем с разрешениями, которые вы можете увидеть:
- Невозможно подключиться к корневым пространствам имен по умолчанию или rootcimv2. Сбой с кодом ошибки «0x80041002», указывающим на «WBEM_E_NOT_FOUND».
- Когда вы открываете «Управление компьютером» и щелкаете правой кнопкой мыши пункт «Управление компьютером» (локальное) и выбираете «Свойства», появляется следующее сообщение об ошибке: «WMI: не найден» или зависание при попытке подключения
- 0x80041010 WBEM_E_INVALID_CLASS
- Попытка использовать wbemtest , и он зависает
- Схемы/Объекты отсутствуют
- Странные ошибки подключения/работы (0x8007054e).
Лучший способ проверить это – запустить эту команду в командной строке с повышенными правами.
Если в хранилище есть проблема, он ответит « хранилище не согласовано », если нет, то это что-то другое, что вызвало проблему. Теперь, когда вы уверены, что коррупция существует, давайте следуем этим советам, чтобы восстановить или перестроить репозиторий WMI.
1] Сбросить WMI Repository
Откройте командную строку с повышенными привилегиями.
Затем выполните команду, чтобы увидеть, вернется ли она как
Если говорится, что Репозиторий не согласован , вам нужно выполнить:
Это поможет вам исправить хранилище WMI. Вот что означает каждая из команд WMI:
- salvagerepository: этот параметр при использовании с командой winmmgmt выполняет проверку согласованности. Если обнаружено несоответствие, он восстанавливает хранилище.
- verifyrepository: выполняет проверку непротиворечивости в WMI-хранилище.
- resetrepository: репозиторий сбрасывается в исходное состояние при первой установке операционной системы
Надеюсь, что это объясняет, что происходит, когда вы выполняете команды.
2] Принудительное восстановление WMI
WMI поставляется со встроенным процессом самовосстановления. Когда служба WMI перезапускается или обнаруживает любое повреждение, процедура самовосстановления запускается автоматически. Это происходит двумя способами:
Автообновление : Здесь будут использоваться образы резервных копий, если включена резервная копия VSS (теневое копирование тома).
Автообновление : . В этом процессе перестройки будут генерироваться свежие образы репозитория на основе зарегистрированных MOF. MOFS доступна в реестре здесь:
HKLM \ Software \ Microsoft \ WBEM \ CIMOM: автоматическое восстановление MOF
Примечание. Автоматическое восстановление MOF является ключевым моментом. Дважды щелкните по нему, чтобы проверить значение.
WMI Самовосстановление не работает
Если самовосстановление не работает, вы всегда можете воспользоваться процессом принудительного восстановления.
Проверьте значение regkey пусто или не здесь:
HKLM \ Software \ Microsoft \ WBEM \ CIMOM \ Авто-восстановление MOF
Если приведенный выше ключ пуст, скопируйте и вставьте значение ключа с другого компьютера. Убедитесь, что это из системы, которая эквивалентна рассматриваемому компьютеру.
Далее выполните команду
Если вы получили сообщение об ошибке «Сброс хранилища WMI не выполнен. Код ошибки: 0x8007041B. Facility: Win32 ”, затем остановите все Dependency Services в службе WMI, выполнив следующие команды:
Если оба предложенных исправления не работают, самое время попробовать автоматизированный инструмент.
3] WMI Fixer Tool
Этот инструмент исправит серверный WMI-репозиторий, если он поврежден или возникла связанная с ним проблема. Вы можете скачать WMI Fixer Tool от Technet.
Связанное чтение . WMI вызывает высокую загрузку ЦП.
WMI на службе системного администратора.
Windows Management Instrumentation (WMI) — это базовая технология как для управления так и для слежения за работой платформы Windows.
Только пользователи локальной группы «Администраторы» имеют право запускать WMIC.
В основе структуры данных в WBEM лежит Common Information Model (CIM), реализующая объектно-ориентированный подход к представлению компонентов системы. CIM является расширяемой моделью, что позволяет программам, системам и драйверам добавлять в неё свои классы, объекты, методы и свойства.
Важной особенностью WMI является то, что хранящиеся в нём объекты соответствуют динамическим ресурсам, то есть параметры этих ресурсов постоянно меняются, поэтому параметры таких объектов не хранятся постоянно, а создаются по запросу потребителя данных. Хранилище свойств объектов WMI называется репозиторием и расположено в системной папке операционной системы Windows:
Так как WMI построен по объектно-ориентированному принципу, то все данные операционной системы представлены в виде объектов и их свойств и методов.
Все классы группируются в пространства имен, которые иерархически упорядочены и логически связаны друг с другом по определенной технологии или области управления. В WMI имеется одно корневое пространство имен Root, которое в свою очередь имеет 4 подпространства: CIMv2, Default, Security и WMI.
Классы имеют свойства и методы и находятся в иерархической зависимости друг от друга, то есть классы-потомки могут наследовать или переопределять свойства классов-родителей, а также добавлять свои свойства.
Свойства классов используются для однозначной идентификации экземпляра класса и для описания состояния используемого ресурса. Обычно все свойства классов доступны только для чтения, хотя некоторые из них можно модифицировать определенным методом. Методы классов позволяют выполнить действия над управляемым ресурсом.
Каждому экземпляру класса можно обратиться по полному пути, который имеет следующую структуру:
[\\ComputerName\NameSpace][:ClassName][.KeyProperty1=Value1][,KeyProperty2=Value2]…]
ComputerName – имя компьютера
NameSpace – название пространства имен
ClassName – имя класса
KeyProperty1=Value1, KeyProperty2=Value2 – свойства объекта и значения, по
которому он идентифицируется.
Пример обращения к процессу с именем «Calc.exe», который запущен на локальной машине:
\\.\CIMv2:Win32_Process.Name=»Calc.exe»
Экземпляры классов могут генерировать события, к которым можно подписываться. При наступлении события WMI автоматически создает экземпляр того класса, которому соответствует это событие. Такой механизм удобно использовать для выполнения определенной команды при наступлении определенного события, то есть следить за состоянием объектов операционной системы.
Общая безопасность в WMI реализуется на уровне операционной системы, а дополнительная политика безопасности основана на уровнях пространств имен и протокола DCOM. То есть если пользователь не имеет права делать какое-то действие через операционную систему, он не сможет это сделать и через WMI . Если же пользователю дано какое-то право в операционной системе, то это ещё не означает, что это право будет и в WMI, так как в WMI действуют дополнительные параметры безопасности на уровне пространств имен.
Для вызова удаленных процедур WMI использует модель DCOM. В случае если возникает ошибка «Dcom Access Denied» то действия будут следующими: меня «Выполнить»->»dcomcnfg»->»Службы компонентов(Component Services)->Компьютеры->Мой компьютер->Свойства(правая кнопка мыши)->вкладка Безопасность COM Уровни олицетворения могут принимать следующие значения:
Anonymous | Анонимный | WMI-объект не может получить информацию о пользователе — доступ по такому типу не предоставляется |
Identify | Идентификация | WMI-объект запрашивает маркер доступа пользователя — доступ предоставляется только локально |
Impersonate | Олицетворение | WMI-объект имеет такие же права, какие имеет пользователь — рекомендуемый уровень для выполнения команд на удаленном компьютере |
Delegate | Делегирование | WMI-объект может обратиться от имени пользователя к другому WMI-объекту — нерекомендуемый уровень, так как команды можно выполнять удаленно через цепочку из нескольких компьютеров |
Уровни аутентификации (подлинности) могут принимать следующие значения:
None | Отсутствует | Проверка подлинности отсутствует |
Default | По умолчанию | Стандартные настройки безопасности, которые задаются компьютером-целью команды |
Connect | Подключение | Проверка только во время подключения к компьютеру-цели команды, проверка в ходе работы отсутствует |
Call | Вызов | Проверка подлинности при каждом запросе к компьютеру-цели команды, заголовки пакетов подписываются, но содержимое не шифруется |
Pkt | Пакет | Проверка подлинности всех пакетов к компьютеру-цели команды, заголовки пакетов подписываются, но содержимое не шифруется |
PktIntegrity | Целостность пакета | Проверка подлинности и целостности всех пакетов к компьютеру-цели команды, заголовки пакетов подписываются, но содержимое не шифруется |
PktPrivacy | Секретность пакета | Проверка подлинности и целостности всех пакетов к компьютеру-цели команды, заголовки и содержимое пакетов подписываются и шифруются |
wmimgmt.msc — оснастка консоли управления MMC для настройки WMI на локальном компьютере.
winmgmt.exe — консольная утилита управления WMI локального компьютера.
wbemtest.exe — графическая утилита для взаимодействия со структурой WMI на локальном или удаленном компьютере.
wmic.exe — консольная утилита для взаимодействия со структурой WMI на локальном компьютере.
mofcomp.exe — компилятор MOF-файлов для расширения структуры WMI, управления библиотекой классов WMI и восстановления репозитория.
Сейчас я покажу практические примеры используемые в моей повседневной работе:
Удаление больших файлов с расширением .log
wmic datafile where «drive=’с:’ and Extension=’.log’ and FileSize>’100000′» call delete
Список заблокированный учетных записей(вывод в файл на диске с:)
Wmic /output:»c:\useraccount.html» useraccount where (Status=’Degraded’) list full /format:htable
Определение архитектуры (Как пример на Server 2008)
Определяет тип сервера (Server 2008)
Команда возвращает числовое значение. Для Windows 2008 Server они следующие:
7 = Windows Server 2008 Standard Edition (full installation)
8 = Windows Server 2008 Datacenter Edition (full installation
10 = Windows Server 2008 Enterprise Edition (full installation)
12 = Windows Server 2008 Datacenter Edition (core installation)
13 = Windows Server 2008 Standard Edition (core installation)
14 = Windows Server 2008 Enterprise Edition (core installation)
42 = Hyper-V Server 2008
wmic OS get OperatingSystemSKU
Как подключаться удаленным системам.
Завершить процесс по названию.
Wmic process where (caption=”notepad.exe”) call terminate
Получить более подробную справку по запуску команд.
Если необходимо получить сведения о службе оповещения на компьютере
Вывод сведений на экран
process where (name=»explorer.exe») get caption,commandline,handle
Чтобы представить вывод в файл в табличном режиме
/output:c:\table.htm process get /format:htable
path win32_process.name=»explorer.exe» get caption,commandline,handle
При соединении с удалёнными системами можно брать имена компьютеров из текстового файла (server1,server2,server3)
Сохранение во внешнем XML-файле историю запускаемых в текущей сессии wmic-команд и результаты их выполнения.
Чтобы запустить новый процесс
process call create cmd.exe
Подключение к другому компьютеру возможно ещё так
/node:server /user:test /password:»password»
Чтобы перезагрузить компьютер
/node:user os where (csname=»user») call win32shutdown 2
Чтобы выключить компьютер
/node:user os where (csname=»user) call win32shutdown 1
Вывод свойств операционной системы
Вывод информация о состоянии всех зарегистрированных служб на компьютерах server1, server2, server3
/node:server1,server2,server3 /output:c:\service.htm service get name,displayname,state /format:htable
Запуск и остановка служб
/node:server1 service where (name=»squid.exe») call startservice
Принудительно выключить компьютер
wmic os where primary=»TRUE» call win32shutdown 6
\\FORD-POLL\ROOT\CIMV2:Win32_OperatingSystem.Name=»Microsoft Windows XP Professional|C:\\WINDOWS|\\Device\\Harddisk0\\Partition1″
Для того чтобы запустить сервис надо (вывести список сервисов в системе)
service list brief
service where (name=» ») call startservice || stopservice
/output:c:\service.html service list full /format:htable
Чтобы работало wmic, надо
Служба WMI должна быть помещена в автозапуск, а также должно быть разрешено соединение по DCOM:
1) В разделе реестра HKLM\SOFTWARE\MICROSOFT\OLE установите значение EnableDCOM в «Y», а также EnableRemoteConnect в «Y». Значение EnableRemoteConnect по умолчанию «N».
2) В разделе реестра \HKLM\SOFTWARE\Microsoft\wbem\cimom установите значение AutostartWin9X в «2». Установите значение EnableAnonConnections в «1».
3) Добавьте файл Winmgmt.exe в автозагрузку. Файл находится в каталоге \Windows\WBEM.
netsh firewall add portopening TCP 135 DCOM_TCP135
Удаленно включаем службу удаленный рабочий стол (Remote Desktop)
Wmic /node:»servername» /user:»user@domain» /password:»password» RDToggle where ServerName=»server name» call SetAllowTSConnections 1
Вывод служб которые запускают с правами LocalSystem
/output:c:\id\cns.html service where startname=»LocalSystem» get Caption,name,started
Список шар на локальном машине
wmic share get caption,name,path
Перечисление всех путей к папкам из которых запущены программы
wmic.exe process get «ExecutablePath», «ProcessID»
Драйверы в системе возможно останавливать или запускать например:
wmic sysdriver where name=’beep’ call PauseService
методы класса Win32_SystemDriver
StartService -> запускает службу или драйвер
StopService -> останавливает службу или драйвер
PauseService -> переводит службу или драйвер в состояние паузы
ResumeService -> восстанавливает состояние драйвера или службы
InterrogateService -> заставляет службу или драйвер обновить своё состояние в SCM
UserControlService -> позволяет послать службе или драйверу пользовательское сообщение.
Create -> создаёт новую службу или драйвер
Change -> изменяет службы или драйвер
ChangeStartMode -> изменяет режим запуска службы или драйвера
Delete -> удаляет службу или драйвер
Выключаем локальную машину.
ping -n seconds 127.0.0.1>nul&wmic OS WHERE Primary=»TRUE» CALL Win32Shutdown 6
где seconds — желаемое число секунд +1; Win32Shutdown 6 — 6 = 2 (reboot) + 4 (force). Никакого видимого сообщения о перезагрузке выведено не будет.
Полезные информационные сборки параметров.
wmic computersystem get domain, EnableDaylightSavingsTime, Manufacturer, Model, PartOfDomain, TotalPhysicalMemory, username
wmic bios get Caption, Manufacturer, SMBIOSBIOSVersion, Version
wmic baseboard get Manufacturer, Model, Product, SerialNumber, Version
wmic cpu get deviceID, Addresswidth, MaxClockSpeed, Name, Manufacturer, ProcessorID
wmic logicaldisk where drivetype=3 get name, freespace, systemname, filesystem, size, volumeserialnumber
= 1 NoRootDirectory The drive does not have a root directory.
= 2 Removable The drive is a removable storage device, such as a floppy disk drive or a USB flash drive.
= 3 Fixed The drive is a fixed disk.
= 4 Network The drive is a network drive.
= 5 CDRom The drive is an optical disc device, such as a CD or DVD-ROM.
= 6 Ram The drive is a RAM disk.
Задание приоритета процессору
wmic process where «name=’notepad.exe’» call setpriority 64
Выполнение команд через wmic
просто вставляем в командную строку
wmic process call create ‘cmd.exe /c ping 10.30.10.101’
Прописываем DNS-суффиксы удаленно
wmic /node: /failfast:on nicconfig call SetDNSSuffixSearchOrder (ford-i.ru,tc-toyota.local,lexus.local)
Прописываем DNS-сервера
nicconfig where index=8 call setdnsserversearchorder («10.30.5.2″,»10.30.5.3»)
,где index= указывает номер интерфейса в системе на котором у вас поднята сеть
Команды загружаемые при входе системы