Implementação de PCs:
Migração dos dados e
configurações dos usuários
Marcelo MatiasEspecialista em Soluções para Desktop
http://marcelomatias.wordpress.com06/Março/2013
• Automatizar a migração dos dados e configurações dos
usuários
• Personalizar os itens que serão ou não migrados
Objetivos
2
DesafioEvitar esse comportamento do
usuário após a migração do PC
Processo típico de migração de PCs
corporativos
Capturar dados e
configurações
Remover o S.O. existente
Instalar a nova imagem do
S.O.
Instalar aplicações
Restaurar dados e
configurações
• Transferência Fácil do Windows (Windows Easy Transfer)
– Acompanha o próprio Windows 8 / Windows 7
• Windows Assessment and Deployment Kit (ADK)
– User State Migration Tool (USMT) 5
– http://www.microsoft.com/pt-br/download/details.aspx?id=30652
Tecnologias
DemonstraçãoTRANSFERÊNCIA FÁCIL DO WINDOWS
6
• Migração de dados e configurações
– Arquivos e pastas
– Chaves de registro
– Configurações do Windows
– Contas e grupos locais de usuário
• Ideal para organizações
– Usa o mesmo núcleo da Transferência Fácil do Windows, sem a interface
gráfica, mas com configurações adicionais
– Fornecido como parte do AIK (USMT 4.0) ou ADK (USMT 5.0)
Visão geral do User State Migration
Tool
• Suporte nativo para migração das configurações de diversas aplicações,
incluindo Office (desde a versão 2003)
– O que o USMT migra (ou não migra, por padrão) http://technet.microsoft.com/pt-
br/library/hh825238.aspx
• Identificação automática dos arquivos de dados
– Função que procura por associações de arquivos (faz parte do MigDocs.xml)
• Melhor entendimento das configurações dos componentes do Windows
– Simplifica a migração das configurações do Windows (pode ser configurado via
config.xml)
– Etapas adicionais podem ser necessárias para migração offline, como conexão com
impressoras de rede, mapeamento de pasta na rede (dica: UDIOffline.xml)
Características do USMT
• Migração com Hardlink (ideal em cenário “Refresh”)
– Incrivelmente rápido (faz backup sem ocupar espaço em disco)
• Suporte Volume Shadow Copy (VSC)
– Copia arquivos que estão em uso
• Validação e Recuperação do armazenamento compactado .MIG
(esqueça o MigRecover.exe)
• Continua suportando o Windows XP como origem
Características do USMT
Desempenho de backup com Hardlink
4
79
15
18
2426
34
35
43
4
2 4 6 8 10 12 14
Tem
po
de B
ack
up
(m
inu
tos)
Gigabytes de dados
Cópia de Arquivos Hard link
• Refresh: nova instalação no mesmo PC, com migração de dados
– Capturar dados do usuário do S.O. existente (idealmente com hardlinks)
– Limpar o S.O. existente (idealmente sem formatar ou reparticionar)
– Instalar o novo S.O. e aplicações
– Restaurar os dados do usuário
• Replace: troca do PC, com migração de dados
– Capturar os dados do usuário do S.O. existente na rede ou disco USB
– Descarte do antigo PC
– Implementação do S.O. em um novo PC
– Restaurar os dados do usuário da rede ou disco USB
Cenários de Uso do USMT
• Scanstate
– Captura o estado do usuário
• Loadstate
– Restaura o estado do usuário
• USMTUTILS
– Limpa o local temporário de armazenamento (incluindo os
hardlinks)
Ferramentas do USMT
DemonstraçãoUSER STATE MIGRATION TOOL
13
Tabela de Migração
Windows XP Windows Vista Windows 7 Windows 8
Windows XP USMT 3 USMT 4 USMT 4, 5 USMT 5
Windows Vista Não suportado USMT 4 USMT 4, 5 USMT 5
Windows 7 Não suportado Não suportado USMT 4, 5 USMT 5
Windows 8 Não suportado Não suportado Não suportado USMT 5
Atenção: Migra x86 para x86, x86 para x64, x64 para x64,
mas NÃO migra x64 para x86
Sistema Operacional Destino
S.O
. O
rig
em
• Especifique sempre um caminho de armazenamento e log
– SCANSTATE.EXE C:\StateStore /L:c:\ScanState.log /V:5
– LOADSTATE.EXE C:\StateStore /L:c:\LoadState.log /V:5
• Especifique quais manifestos de configuração serão usados
– /i:MigApp.xml /i:MigDocs.xml
– /i:MigApp.xml /i:MigUser.xml
– Não use o MigDocs.xml junto com o MigUser.xml (haverá duplicidade dos dados)
– Dê preferência ao MigDocs.xml para reduzir a criação de arquivo .XML adicional para
outros tipos de documentos
– Especifique os manifestos de migração tanto no Scanstate quanto no Loadstate
• /O para sobrepor um local existente de armazenamento, caso exista
• /hardlink /nocompress /efs:hardlink para usar hardlinks
• /localonly para ignorar unidades removíveis e pastas de rede
Linhas de comando
• Inclui ou exclui os usuários
– /UI:DOMINIO\Usuário para inclusão explícita (suporta caractere coringa)
– /UE:DOMINIO\Usuário para exclusão explícita (suporta caractere coringa)
– /UEL:90 para especificar apenas perfis modificados nos últimos 90 dias
• Cria usuários no novo Sistema Operacional
– /LAC ou /LAC:senha para criar novas contas locais, LAE para habilitar as contas
– Se o /LAC não for especificado o USMT vai falhar ao tentar restaurar a conta local
• Muda o domínio ou nome do usuário
– /MD:DominioAntigo:NovoDominio para especificar um domínio diferente
– /MU:DominioAntigo\UsuarioAntigo:NovoDominio\NovoUsuario
• /efs:copyraw ou /efs:hardlink para migrar arquivos criptografados por EFS (e
respectivo certificado)
• /offlinewindir:c:\windows ou /offlinewinold:c:\windows.old para migração
offline
Linhas de comando
• O arquivo Config.xml tem alguns propósitos– Controla como manipular erros
– Especifica quais componentes devem ou não ser migrados
– Controla como o membros de grupos locais serão migrados
• É um arquivo opcional, mas é recomendado– Comece utilizando o parâmetro /genconfig:MeuConfig.xml e incluindo
os manifestos de migração (MigApp.xml, MigDocs.xml…)
– Desative os componentes que você não quer migrar
• migrate=“no”
– Faça mudanças adicionais
• Controle de erro, controle de perfil, etc…
Uso do Config.xml
Códigos para controle de erro:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms681382.aspx
• A partir de um simples, até um completo
– Exclusão incondicional
– Migração de arquivos, pastas e chaves de registro
– Adicionar regras de detecção
– Executar comandos e scripts
– “Helper functions”
• GenerateDrivePatterns
• GenerateDocPatterns
• StartService, StopService, RegisterFonts, KillExplorer, RestartExplorer
Criando manifestos personalizados
Inclusão de pastas, exceto subpastas
Exemplo de arquivo .XML - inclusão
<migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/teste">
<component type="Documents" context="System">
<displayName>Migra todos os arquivos da pasta Dados, exceto
subpastas</displayName>
<role role="Data">
<rules>
<include>
<objectSet>
<pattern type="File">C:\Dados\ [*]</pattern>
</objectSet>
</include>
</rules>
</role>
</component>
</migration>
Mais exemplos em: http://technet.microsoft.com/pt-br/library/hh824833.aspx
Como ignorar os arquivos .MP3 de todas as unidades
Exemplo de arquivo .XML - exclusão
<migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/excluimp3">
<component context="System" type="Documents">
<displayName>Exclui MP3</displayName>
<role role="Data">
<rules>
<unconditionalExclude>
<objectSet>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*.mp3]", "Fixed")</script>
</objectSet>
</unconditionalExclude>
</rules>
</role>
</component>
</migration>
Mais exemplos em: http://technet.microsoft.com/pt-br/library/hh824985.aspx
Como migrar os dados de progresso da aplicação Angry Birds
Exemplo de arquivo .XML - aplicação
<migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/AngryBirds">
<component type="Application" context="User">
<displayName>Angry Birds</displayName>
<role role="Data">
<detection>
<conditions>
<condition>MigXmlHelper.DoesObjectExist("File","%CSIDL_APPDATA%\Rovio\Angry Birds")</condition>
</conditions>
</detection>
<rules context="User">
<include>
<objectSet>
<pattern type="File">%CSIDL_APPDATA%\Rovio\Angry Birds\* [*]</pattern>
</objectSet>
</include>
</rules>
</role>
</component>
</migration>
Dicas em: http://technet.microsoft.com/pt-br/library/hh825255.aspx
• Defina as “task sequence variables” com os parâmetros
adicionais– OSDMigrateAdditionalCaptureOptions, OSDMigrateAdditionalRestoreOptio
ns (SCCM)
– ScanStateArgs, LoadStateArgs (MDT Lite Touch)
– OSDMigrateConfigFiles (SCCM), USMTMigFiles (MDT Lite Touch)
– USMTConfigFile (MDT Lite Touch)
• Garanta que os arquivos de configuração estão no local
adequado– O USMT não procura por arquivos fora da atual pasta de trabalho
Atenção no MDT ou SCCM
Melhores Práticas
1. Crie um ambiente de testes
– O laboratório deverá conter PCs com dados e aplicações similares aos do ambiente
de produção (dica: use a ferramenta DISK2VHD.EXE para criar VMs com base em
PCs do ambiente de produção)
2. Escolha um tipo de migração
– Escolha entre a migração online (a partir do Windows atual) ou offline (a partir do
Windows PE)
3. Determine o que migrar
– Informação do usuário final; configurações das aplicações; configurações do Sistema
Operacional; arquivos, pastas e chaves de registro
– Identifique os tipos de perfil para capturar ou ignorar
• Usuários locais
• Conta local do administrador
• Perfis não acessados por mais de um número x de dias
Melhores práticas – Planejamento
24
4. Determine onde armazenar os dados
– Armazenar remotamente
– Localmente com hardlink
– Em um dispositivo externo de armazenamento USB
– No novo PC (cenário “Replace”)
– Use o parâmetro /P:estimativa.xml para relatório de estimativa de espaço
necessário
5. Crie arquivos .XML personalizados
– Modifique o comportamento de migração através de arquivos .XML
– Migração das configurações de aplicações podem requerer novo arquivo .XML
• Faça sempre cópia com arquivos originais .XML
Melhores práticas – Planejamento
25
• Instale as aplicações ANTES de executar o LoadState
– Isso garante que as configurações serão preservadas (principalmente no caso do Microsoft
Office)
• Não use o MigUser.xml junto com o MigDocs.xml
– Se os dois arquivos forem especificados pode haver duplicidade dos dados dos usuários
• Use o MigDocs.xml para uma melhor experiência de migração
– MigDocs.xml coleta um maior escopo de dados
– MigDocs.xml migra pastas de dados baseado em sua localidade, e no registro dos tipos de
arquivos (registro de tipos de arquivos por aplicativos)
– MigUser.xml migra apenas arquivos de determinadas extensões dentro do perfil do usuário
• Use Chkdsk.exe e UsmtUtils.exe /verify
– Chkdsk.exe antes de executar o ScanState e LoadState
– UsmtUtils.exe /verify após executar o ScanState e antes de limpar os dados do PC de origem
Melhores práticas - Execução
26
• Feche todas as aplicações antes de executar o ScanState ou LoadState
– O parâmetro /vsc permite migração de arquivos em uso, mas pode apresentar riscos
– Encerre todas as aplicações para garantir a migração completa
– Se não usar o parâmetro /vsc ou /c o USMT falhará quando não conseguir migrar
um arquivo ou configuração
• Crie o arquivo Config.xml
– Necessário se você quiser excluir algum componente do processo de migração
– Reveja o estado de migração dos componentes listados no Confir.xml e especifique
migrate=no para qualquer componente que você queira excluir da migração
Melhores práticas - Execução
27
• Encrypting File System (EFS)
– Não use /efs:skip ou /efs:decryptcopy sem um bom motivo
– Sempre use /efs:copyraw ou /efs:hardlink caso não tenha certeza se existem dados
criptografados
• Proteja o local de armazenamento
– Use /encrypt para proteger o arquivo .MIG
– Use as permissões NTFS adequadas para proteger os dados na rede
– Transmita os dados através de IPSEC ou VPN
• Migração de senhas
– O USMT NÃO MIGRA senhas do IE, RAS/VPN, contas locais, etc.
– Garanta que os usuários saibam suas senhas, ou peça para que as troque antes da
migração
Melhores práticas - Execução
28
• Especifique os mesmos arquivos *.xml tanto no ScanState quanto no
LoadState
• Use um editor XML e schema XML (MigXML.xsd) ao manipular os arquivos
.XML do USMT
– Carregue o schema MigXML.xsd no Visual Studio Express 2011 para garantir a
correta edição dos arquivos .XML
– Evite o uso do bloco de notas ou algum editor similar de texto para editar tais
arquivos .XML
Melhores práticas - Execução
29
• Considere o impacto de desempenho do parâmetro <context>
– Você afeta o desempenho quando usa o elemento <context> com o elemento
<component>• No contexto “User” a regra é processada uma vez para cada usuário no sistema
• No context “System” a regra é processada uma vez para o sistema
• No context “UserAndSystem” a regra é processada uma vez para cada usuário, e uma vez para o sistema
• Não modifique os arquivos originais .XML
– Crie um arquivo extra .xml ao invés de modificar os que já vem de fábrica
• Faça backup antes da migração
– Quando possível, antes de executar o ScanState, faça um backup completo do PC
origem
– O SCCM e MDT oferece nativamente essa opção (.WIM)
Melhores práticas - Execução
30