Миграция состояния пользователя SCCM - данные этого пользователя исчезли?
Короче говоря, мы находимся в хвосте нашего проекта по переходу с XP на Windows 7 и наконец-то получили машину VIP для миграции. Поскольку машина почти такая же старая, как и ОС на ней, этот конкретный пользователь был "благословлен" новым оборудованием, в дополнение к новой ОС.
Проблема в том, что у нас был стажер, который делал эту конкретную миграцию, и он вроде все испортил. Шутки в сторону. Короче говоря, общий процесс миграции пользовательской среды заключается в создании ассоциации между старым и новым компьютерами в SCCM, выполнении последовательности задач захвата на старом компьютере и последующем выполнении последовательности восстановления на новом компьютере. В этом случае последовательность задач захвата была запущена до того, как компьютеры были связаны, поэтому SCCM отказывается выполнять восстановление, и старый компьютер был переформатирован... по какой-то причине... до того, как это было обнаружено.
Теперь, когда мы пытаемся перенести пользователя, "восстановив" USMT.mig
который был захвачен и загружен на сервер SCCM, мы получаем ошибку ниже, следуя Request State Store
действие.
Task Sequence: USMT - Restore State has failed with the error code (0x00004005).
For more information, contact your system administrator or helpdesk operator.
Соответствующие записи журнала из smsts[date-time].log
похоже:
<![LOG[Requesting SMP Root share config information from http://[Our SCCM server]:0]LOG]!><time="15:45:28.823+240" date="06-13-2014" component="OSDSMPClient" context="" type="1" thread="5136" file="smpclient.cpp:2348">
<![LOG[Received 4027 byte response.]LOG]!><time="15:45:28.892+240" date="06-13-2014" component="OSDSMPClient" context="" type="0" thread="5136" file="smpclient.cpp:2363">
<![LOG[Adding \\[Our SCCM server]\SMPSTORED_378B856C$ to list ]LOG]!><time="15:45:28.912+240" date="06-13-2014" component="OSDSMPClient" context="" type="1" thread="5136" file="smpclient.cpp:2403">
<![LOG[Successfully connected to "\\[Our SCCM server]\SMPSTORED_378B856C$"]LOG]!><time="15:45:28.919+240" date="06-13-2014" component="OSDSMPClient" context="" type="1" thread="5136" file="tsconnection.cpp:287">
<![LOG[Sending SMP request to http://[Our SCCM server]:0.]LOG]!><time="15:45:28.950+240" date="06-13-2014" component="OSDSMPClient" context="" type="1" thread="5136" file="smpclient.cpp:1854">
<![LOG[Received 4899 byte response.]LOG]!><time="15:45:29.045+240" date="06-13-2014" component="OSDSMPClient" context="" type="0" thread="5136" file="smpclient.cpp:1861">
<![LOG[SMP request to "http://[Our SCCM server]" failed with error: E_SMPERROR_MIGRATIONID_NOT_FOUND (204)]LOG]!><time="15:45:29.065+240" date="06-13-2014" component="OSDSMPClient" context="" type="2" thread="5136" file="smpclient.cpp:135">
<![LOG[Request to SMP 'http://[Our SCCM server]' failed with error (Code 0x80004005). Trying next SMP.]LOG]!><time="15:45:29.065+240" date="06-13-2014" component="OSDSMPClient" context="" type="2" thread="5136" file="smpclient.cpp:1601">
<![LOG[Failed to find an SMP that can serve request after trying 4 attempts.]LOG]!><time="15:45:29.065+240" date="06-13-2014" component="OSDSMPClient" context="" type="3" thread="5136" file="smpclient.cpp:1644">
<![LOG[ExecuteRestoreRequestToSMP failed (0x80004005).]LOG]!><time="15:45:29.065+240" date="06-13-2014" component="OSDSMPClient" context="" type="3" thread="5136" file="smpclient.cpp:2862">
<![LOG[ExecuteRestoreRequest failed (0x80004005).]LOG]!><time="15:45:29.065+240" date="06-13-2014" component="OSDSMPClient" context="" type="3" thread="5136" file="smpclient.cpp:2926">
<![LOG[OSDSMPClient finished: 0x00004005]LOG]!><time="15:45:29.065+240" date="06-13-2014" component="OSDSMPClient" context="" type="1" thread="5136" file="main.cpp:124">
<![LOG[Process completed with exit code 16389]LOG]!><time="15:45:29.077+240" date="06-13-2014" component="TSManager" context="" type="1" thread="5744" file="commandline.cpp:1123">
<![LOG[!--------------------------------------------------------------------------------------------!]LOG]!><time="15:45:29.078+240" date="06-13-2014" component="TSManager" context="" type="1" thread="5744" file="instruction.cxx:804">
<![LOG[Failed to run the action: Request State Store.
Unknown error (Error: 00004005; Source: Unknown)]LOG]!><time="15:45:29.082+240" date="06-13-2014" component="TSManager" context="" type="3" thread="5744" file="instruction.cxx:895">
<![LOG[Set authenticator in transport]LOG]!><time="15:45:29.088+240" date="06-13-2014" component="TSManager" context="" type="0" thread="5744" file="libsmsmessaging.cpp:7734">
<![LOG[Set a global environment variable _SMSTSLastActionRetCode=16389]LOG]!><time="15:45:29.350+240" date="06-13-2014" component="TSManager" context="" type="0" thread="5744" file="executionenv.cxx:668">
<![LOG[Set a global environment variable _SMSTSLastActionSucceeded=false]LOG]!><time="15:45:29.352+240" date="06-13-2014" component="TSManager" context="" type="0" thread="5744" file="executionenv.cxx:668">
<![LOG[Clear local default environment]LOG]!><time="15:45:29.353+240" date="06-13-2014" component="TSManager" context="" type="0" thread="5744" file="executionenv.cxx:807">
<![LOG[Failed to run the action: Request State Store. Execution has been aborted]LOG]!><time="15:45:29.365+240" date="06-13-2014" component="TSManager" context="" type="3" thread="5744" file="instruction.cxx:983">
<![LOG[Set authenticator in transport]LOG]!><time="15:45:29.373+240" date="06-13-2014" component="TSManager" context="" type="0" thread="5744" file="libsmsmessaging.cpp:7734">
<![LOG[Failed to run the last action: Request State Store. Execution of task sequence failed.
Unknown error (Error: 00004005; Source: Unknown)]LOG]!><time="15:45:29.700+240" date="06-13-2014" component="TSManager" context="" type="3" thread="5744" file="engine.cxx:213">
<![LOG[Set authenticator in transport]LOG]!><time="15:45:29.708+240" date="06-13-2014" component="TSManager" context="" type="0" thread="5744" file="libsmsmessaging.cpp:7734">
<![LOG[Task Sequence Engine failed! Code: enExecutionFail]LOG]!><time="15:45:33.323+240" date="06-13-2014" component="TSManager" context="" type="3" thread="5744" file="tsmanager.cpp:923">
Попытки расшифровать USMT.mig
файл с ключом восстановления, найденным в Computer Association
-> Recovery Information
очевидно, не работают, и с переформатированием исходного компьютера, я быстро чувствую, что любой след ключа, необходимый для расшифровки этого файла, может быть пропущен.
Так что теперь у нас есть прекрасный USMT.mig
файл на нашем сервере SCCM, и нет способа восстановить его, или расшифровать его вручную (по крайней мере, насколько я могу судить).
Так как он появился, это было сделано с помощью графического интерфейса, поэтому мы не можем вернуться и посмотреть на команду CLI для восстановления оттуда, и я уверен, что это .mig
файл зашифрован - MigViewer предупреждает, что он зашифрован, и пытается извлечь файлы в любом случае приводит к 0-байтовым файлам с (corrupt)
добавляется к имени файла.
Нам не повезло, или кто-то знает способ вывести нас из-под контроля?
4 ответа
Данные пользователя мертвы и ушли, да.
Служба поддержки Microsoft подтвердила, что оригинальный, автоматически сгенерированный ключ шифрования не может быть извлечен и слишком долго взломать.
На самом деле, вы можете использовать сгенерированный ключ для расшифровки файла MIG. Вы должны вставить ключ в текстовый файл и указать командной строке искать ключ там, а не вставлять его (так как это делает командную строку слишком длинной).
Попытки расшифровать файл USMT.mig с помощью ключа восстановления, найденного в Computer Association -> Информация о восстановлении, очевидно, не работают, и с переформатированием исходного компьютера я быстро чувствую, что любой след ключа, необходимый для расшифровать этот файл может быть ушел.
Поскольку сканирование было выполнено до создания этой параллельной компьютерной связи, SCCM должен был автоматически создать локальную компьютерную ассоциацию. Если эта связь все еще существует, вы сможете открыть файл.MIG с помощью программы USMTUtils.exe (ссылка: Как извлечь файлы из сжатого хранилища миграции USMT) с помощью следующей команды:
usmtutils /extract <Path to .MIG file> /decrypt /key:<Recovery key from SCCM console> <Path to Extract to>
У вас все еще есть доступ к старой машине? Что вы использовали для его переформатирования и какие настройки - просто быстрое форматирование или правильное стирание с несколькими циклами записи? Если первый, вы можете получить старый ключ с диска, если вы знаете, где искать. Существует множество бесплатных и платных утилит, позволяющих вам находить файлы на недавно отформатированных дисках - если старый файл фактически не был перезаписан, у вас есть шанс.