Etapas e Soluções Desenvolvidas
Scripts PowerShell Completos
# ChangeDomain.ps1
param(
[string]$Domain,
[string]$User,
[string]$Password
)
$SecurePassword = ConvertTo-SecureString $Password -AsPlainText -Force
$Credential = New-Object System.Management.Automation.PSCredential($User, $SecurePassword)
try {
Add-Computer -DomainName $Domain -Credential $Credential -Force -Restart
} catch {
Write-Error "Erro ao tentar adicionar ao domínio: $_"
}
# ChangeProfileOwner.ps1
$Profiles = Get-WmiObject Win32_UserProfile | Where-Object { $_.LocalPath -like "C:\\Users\\*" -and $_.Special -eq $false }
foreach ($Profile in $Profiles) {
$LocalPath = $Profile.LocalPath
Write-Output "Atualizando permissões para o perfil: $LocalPath"
# Permitir acesso completo para o novo usuário
$Acl = Get-Acl $LocalPath
$Ar = New-Object System.Security.AccessControl.FileSystemAccessRule("NOVODOMINIO\\NovoUsuario", "FullControl", "ContainerInherit,ObjectInherit", "None", "Allow")
$Acl.SetAccessRule($Ar)
Set-Acl $LocalPath $Acl
}
1. Remoção do Domínio Antigo
Desenvolvido script 1-RemoverDominioAntigo.bat para:
- Remover a estação de trabalho do domínio Samba4 de forma segura.
- Configurar o computador para ambiente de grupo de trabalho (Workgroup).
- O arquivo .bat foi utilizado para chamar scripts PowerShell com privilégios de administrador automaticamente, garantindo a execução dos comandos de forma segura e sem intervenção manual.
2. Adição ao Novo Domínio
Desenvolvido script 2-AdicionarDominioNovo.bat para:
- Inserir a estação de trabalho no novo Active Directory Windows Server.
- Utiliza um arquivo .bat para garantir a execução elevada (admin) do script PowerShell responsável pela adição da máquina no novo domínio.
- Automatiza a autenticação com as credenciais corretas do novo ambiente.
3. Atualização e Preservação de Perfis Locais
Desenvolvido script 3-AtualizarPerfisLocais.bat para:
- Identificar todos os perfis de usuários locais existentes.
- Atualizar as permissões (SIDs) para associar os perfis locais às novas contas do domínio Windows Server.
- Garantir que configurações personalizadas, documentos e aplicações instaladas permanecessem intactas após a migração.
4. Scripts PowerShell Detalhados
ChangeDomain.ps1:
- Script responsável por automatizar a mudança de domínio.
- Inclui detecção do estado atual da estação e tratamento de exceções em caso de falha na adição ou remoção de domínio.
- Força reinicialização após alteração para garantir aplicação de configurações de rede e autenticação.
- Atualiza a propriedade dos perfis de usuários locais atribuindo ao novo SID do domínio.
- Utiliza comandos de WMI para listar e associar perfis de forma automática.
- Garante que o acesso e permissões antigas sejam substituídas corretamente para evitar problemas de acesso após a migração.
Nota: A utilização dos arquivos .bat para invocar os scripts PowerShell como administrador foi considerada a solução mais elegante e confiável para garantir a execução automatizada e segura dos processos de migração.