Главная > Default > Ошибка в управлении ролями оснастки Server Manager в Windows Server 2008/R2: Unexpected error refreshing Server Manager: Exception from HRESULT: 0x800F0818

Ошибка в управлении ролями оснастки 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 с правами администратора и выполняем следующие команды:

Сделаем текущего пользователя владельцем директории:

takeown /F C:\Windows\Servicing\Packages /D y /R

Дадим пользователю (у меня это admin из домена domain.local, поэтому запись выглядит как admin@domain) полный доступ к директории:

cacls C:\Windows\Servicing\Packages /E /T /C /G admin@domain:F

5. Распаковываем скачанные ранее пакеты обновлений. Мой называется Windows6.1-KB979916-x64.msu и лежит в корне диска C:

Создадим в корне диска C: небольшую структуру каталогов (каталог TMP и вложенный в него каталог CAB), которые будут служить временным хранилищем для распаковываемых данных:

C:
cd \
md TMP
md c:\TMP\CAB

Распакуем MSU-файл с каталог TMP:

Expand -F:* Windows6.1-KB979916-x64.msu C:\TMP

В каталоге C:\TMP появится файл с именем Windows6.1-KB979916-x64.cab. Распакуем его в каталог C:\TMP\CAB:

Expand -F:* 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. Если ошибка не пропала, повторите инструкцию сначала.

Default ,

  1. old_piag
    28 октября 2011 в 20:21 | #1

    Отличная статя.
    только в
    cacls C:\Windows\Servicing\Packages /E /T /C /G admin@domain:F
    Я указал
    cacls C:\Windows\Servicing\Packages /E /T /C /G administrator:F
    И всё прошло удачно!

    Спасибо!

  2. Lex
    31 октября 2012 в 07:20 | #2

    Спасибо, статья реально выручила. Щас все четко работает.

  3. Андрей
    27 мая 2013 в 21:05 | #3

    При запуске последней строки (я создал папки 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.

    Как это решить? Помогите.

  4. 29 мая 2013 в 07:54 | #4

    @Андрей
    архиватор раскрой

  5. Тимсон
    29 ноября 2013 в 01:27 | #5

    Лучи добра тебе, аффтар.
    Только подобно ув. old_piag, пришлось иметь небольшой гемор с захватом прав — вместо admin@domain пришлось исползовать domain\admin. А так Креатив Рулез — Аффтар Молодец.

  6. Александр
    8 декабря 2013 в 15:03 | #6

    Спасибо! Заработало!!!

  1. Пока что нет уведомлений.