Previnindo Erro 36 durante a execução do ScanState (MDT ou Manual)

Olá pessoal,

Quem nunca se deparou com o erro 36 durante a execução do ScanState? Acredito que todos que utilizem essa ferramenta com frequência já tenham “batido de frente com ele”, seja executando o ScanState de forma manual ou usando ele integrado ao MDT. Pois bem, o procedimento para corrigir esse problema é bem simples e veremos o que fazer agora nesse post.

Antes de começar para quem ainda não conhece o Scanstate, vou explicar rapidamente. O ScanState assim como o LoadState são dois utilitários de linha de comando que faz parte do USMT (User State Migration Tool), Ferramentas utilizadas para capturar os dados e estado do perfil do usuário (ScanState) e outro para fazer o inverso, ou seja, restaurar os dados e perfis capturados durante o backup (LoadState). Dessa forma por se tratar de ferramentas de linha de comando temos a possibilidade de automatizar o processo de Backup e restauração dos dados dos usuários.

Causa do Erro

Esse erro ocorre de três formas a primeira é devido as entradas .BAK no registro do Windows que se refere aos perfis temporários de contas de usuários existentes no computador causando uma duplicidade do SID do usuário.

As outras duas formas são bem parecidas uma é quando executamos o ScanState em um ambiente do Windows PE sem adicionar o parâmetro /offline a linha de comando o ScanState.

A última é usar o parâmetro /offline executando o ScanState rodando o Windows em modo Full.

Nesse post vamos partir do principio que o problema seja baseado no primeiro erro citado acima tendo entradas de perfis temporários no registro do Windows.

ErrorScanstateRC36

Error 36 ao executar o ScanState como parte de uma Task Sequence

[Script] Verificando e Eliminando entradas .BAK do Registro

Para o que o processo de captura/backup dos dados dos usuário ocorra sem problemas precisamos garantir que o computador não tenha entradas no registro do Windows referente a Perfis Temporário, para isso antes de iniciar a Task Sequence precisaríamos acessar a chave de registro do Windows no seguinte caminho HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList e verificar se existe alguma chave com o .BAK no final e remover cada uma das chaves manualmente.

O passos citados acima se tiverem que ser executados em várias maquinas torna-se inviável, por isso escrevi um script Powershell para fazer essas validações e/ou exclusões caso necessário como parte da Task Sequence.

1. Copie o script para a pasta Scripts dentro do Deployment Share  usando no ambiente de produção, recomendo a criação de uma subpasta chamada PSScripts dentro da pasta Scripts apenas com a finalidade de organização.

2. Expanda o nó Task Sequences e clique com o botão direito na Task Sequence usada para fazer a implantação do Windows nos computadores.

3. Na aba Task Sequence, Expanda o nó State Capture e adicione uma ação do tipo Run Powershell Scripts antes de Generate Application Migration File. Add > Run Powershell Scripts.

    1. Nome: Verify and Remove Temp Profiles
    2. Description (Opcional): Este script verifica e remove entradas .bak na chave de registro evitando erro RC=36 no SCANSTATE.
    3. Powershell Scripts: %SCRIPTROOT%\PSScripts\Remove-TempProfiles.ps1
    4. Parameters: (Não usaremos parâmentros nesse script)

TaskSequence_ScanState

Ação Remove Tem Profiles adicionada a Task Sequence

4. Ação sendo executada e um Temp Profile encontrado no computador.

BakKey_Found

Perfil Temporário encontrando na chave de registro do Windows

5. Processo de captura do dados e perfil agora sendo executado sem problema.

ScanState_Started

ScanState iniciado durante a Task Sequence

 Download Script: Remove-TempProfiles

/Excelente Deployment

Eduardo Sena é Microsoft MVP Windows and Devices for IT, especialista em Windows Deployment Solutions em ambientes corporativos, sempre envolvido em ações na comunidade, comunnity leader no WSG – Window Study Group e Quintas da TI, Eduardo é conhecido por sua especialização com ferramentas para deployment como MDT, ADK, WDS e USMT.

%d blogueiros gostam disto: