Ошибка в управлении ролями оснастки Server Manager в Windows Server 2008/R2: Unexpected error refreshing Server Manager: Exception from HRESULT: 0x800F0818
Проблема: в оснастке Server Manager (в русской версии, видимо, Управление Сервером) возникает ошибка управления ролями с лаконичной надписью «Error».
С указанной в заголовке ошибкой я столкнулся на производственном сервере Hyper-V после очередной установки обновлений от Microsoft. Для наглядности графическая демонстрация:
Детали ошибки сообщали некоторые более конкретные и вразумительные подробности: Unexpected error refreshing Server Manager: Exception from HRESULT: 0x800F0818. Также предлагалось подробнее изучить события Applications and Services Logs -> Microsoft -> Windows -> Server Manager -> Operational (после изучения документации, нашел второй вариант ошибки: Server Manager: Unexpected error refreshing Server Manager: No signature was present in the subject. (Exception from HRESULT: 0x800B0100). Нижеприведенное решение позволит избавиться и от нее тоже).
Объяснение: проблема возникает из-за вмешательства посторонних служб (индексирования Windows, антивируса и пр. сервисов, работающих в фоне), кэширования записи на диск или «прочих ошибок» (нравится объяснение?) при установке обновлений, из-за которого неверно или неполностью копируются пакеты обновлений с расширением .MUM и связанные с ними .CAT.
Решение:
1. Запустите Microsoft Update Readiness Tool (брать здесь: http://support.microsoft.com/kb/947821)
2. После получения сообщения об успешном окончании работы утилиты, откройте получившийся log-файл C:\Windows\logs\CBS\Checksur.log
У меня он содержал следующее:
<…>
Checking Package Manifests and Catalogs
(f) CBS MUM Corrupt 0x00000000 servicing\Packages\Package_for_KB979916_RTM~31bf3856ad364e35~amd64~~6.1.1.0.mum Expected file name Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.1.7600.16385.mum does not match the actual file name
<…>
Unavailable repair files:
servicing\packages\Package_for_KB979916_RTM~31bf3856ad364e35~amd64~~6.1.1.0.mum
servicing\packages\Package_for_KB979916_RTM~31bf3856ad364e35~amd64~~6.1.1.0.cat
Итак, проблема возникает из-за неверного содержимого двух файлов. В их названиях содержится наименование KB, в которых эти файлы содержатся. У меня это KB979916. Google подсказал, что это обновление безопасности .NET Framework 3.5.1.
3. Скачайте пакеты обновлений по вашим KB и скопируйте их в корень диска C:. По своему КВ я брал обновление отсюда: http://www.microsoft.com/downloads/en/details.aspx?familyid=a49532d7-53f6-4190-aaf6-b1a818924764&displaylang=en
4. Теперь нам необходимо получить права на директорию C:\Windows\Servicing\Packages. Запускаем консоль cmd с правами администратора и выполняем следующие команды:
Сделаем текущего пользователя владельцем директории:
Дадим пользователю (у меня это admin из домена domain.local, поэтому запись выглядит как admin@domain) полный доступ к директории:
5. Распаковываем скачанные ранее пакеты обновлений. Мой называется Windows6.1-KB979916-x64.msu и лежит в корне диска C:
Создадим в корне диска C: небольшую структуру каталогов (каталог TMP и вложенный в него каталог CAB), которые будут служить временным хранилищем для распаковываемых данных:
cd \
md TMP
md c:\TMP\CAB
Распакуем MSU-файл с каталог TMP:
В каталоге C:\TMP появится файл с именем Windows6.1-KB979916-x64.cab. Распакуем его в каталог C:\TMP\CAB:
6. Найдите в каталоге C:\TMP\CAB файлы Package_for_KB979916_RTM~31bf3856ad364e35~amd64~~6.1.1.0.mum и Package_for_KB979916_RTM~31bf3856ad364e35~amd64~~6.1.1.0.cat, о повреждении или отсутствии которых нам сообщила на 2-м шаге Microsoft Update Readiness Tool. Скопируйте их в каталог C:\Windows\Servicing\Packages и перезапустите Server Manager, чтобы убедиться, что проблема решена:
Второй вариант предполагает, что нужных файлов вы не нашли. В этом случае присвойте файлам update.cat и update.mum из каталога C:\TMP\CAB имена, на отсутствие или повреждение которых состалась Microsoft Update Readiness Tool на 2-м шаге.
Вуаля!
P.S. Если ошибка не пропала, повторите инструкцию сначала.
Отличная статя.
только в
cacls C:\Windows\Servicing\Packages /E /T /C /G admin@domain:F
Я указал
cacls C:\Windows\Servicing\Packages /E /T /C /G administrator:F
И всё прошло удачно!
Спасибо!
Спасибо, статья реально выручила. Щас все четко работает.
При запуске последней строки (я создал папки temp1 и cab):
Expand -F:* Windows6.1-KB2522422-x64.cab C:\temp1\cab
Выходит это:
C:\>Expand -F:* Windows6.1-KB2522422-x64.cab C:\temp1\cab
Программа распаковки файлов Microsoft (R), версия 6.1.7600.1638
(C) Корпорация Майкрософт. Все права защищены.
Не удается открыть исходный файл: windows6.1-kb2522422-x64.cab.
Как это решить? Помогите.
@Андрей
архиватор раскрой
Лучи добра тебе, аффтар.
Только подобно ув. old_piag, пришлось иметь небольшой гемор с захватом прав — вместо admin@domain пришлось исползовать domain\admin. А так Креатив Рулез — Аффтар Молодец.
Спасибо! Заработало!!!