none
Script para Renomear maquina e acrescenta-la em novo dominio. RRS feed

  • Pergunta

  • Ola amigos,

    Estou desenvolvendo um serviço no que consiste em migrar maquinas de um dominio antigo (AD) para um dominio Novo (AD), existe alguma forma de fazer um script cujo ele altera o nome da maquina e acrescente ela no novo dominio?


    Rafael Alves Machado
    sexta-feira, 4 de dezembro de 2009 18:02

Respostas

  • Se você deseja adicionar as estações no domínio esse script pode te ajudar.
    Veja se é útil esse código 
    1. adiciona a estação no domínio
    2. reinicializa automáticamente 

     

    Const JOIN_DOMAIN = 1
    Const ACCT_CREATE = 2
    Const ACCT_DELETE = 4
    Const WIN9X_UPGRADE = 16
    Const DOMAIN_JOIN_IF_JOINED = 32
    Const JOIN_UNSECURE = 64
    Const MACHINE_PASSWORD_PASSED = 128
    Const DEFERRED_SPN_SET = 256
    Const INSTALL_INVOCATION = 262144
     
    strComputer = "."
    Ncomputer = inputbox("Digite o novo nome da máquina")
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colComputers = objWMIService.ExecQuery _
        ("Select * from Win32_ComputerSystem")
    For Each objComputer in colComputers
        err = objComputer.Rename(Ncomputer)
    Next
    strDomain = "Dominio"
    strUser = "Administrador"
    strPassword = "senha"
     
    Set objNetwork = CreateObject("WScript.Network")
    strComputer = objNetwork.ComputerName
    Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _
        strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & _
            strComputer & "'")
    ReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, _
        strPassword, strDomain & "\" & strUser, NULL, _
            JOIN_DOMAIN + ACCT_CREATE)
    Wscript.Sleep 2000
    ' Restart a Computer
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate,(Shutdown)}!\\" & _
            strComputer & "\root\cimv2")
    Set colOperatingSystems = objWMIService.ExecQuery _
        ("Select * from Win32_OperatingSystem")
    For Each objOperatingSystem in colOperatingSystems
        objOperatingSystem.Reboot()
    Next
    Porem o nome da máquina deve ser editado manualmente no momento da execução do script.

    assinado

    terça-feira, 16 de agosto de 2011 14:43

Todas as Respostas

  • Ola amigos,

    Estou desenvolvendo um serviço no que consiste em migrar maquinas de um dominio antigo (AD) para um dominio Novo (AD), existe alguma forma de fazer um script cujo ele altera o nome da maquina e acrescente ela no novo dominio?


    Rafael Alves Machado

    Verifique se te atende...

    http://social.technet.microsoft.com/Forums/pt-BR/scriptadminpt/thread/5554a267-e452-4d39-848f-cc265e1676e7

    []s,

    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    sexta-feira, 4 de dezembro de 2009 21:21
  • Se você deseja adicionar as estações no domínio esse script pode te ajudar.
    Veja se é útil esse código 
    1. adiciona a estação no domínio
    2. reinicializa automáticamente 

     

    Const JOIN_DOMAIN = 1
    Const ACCT_CREATE = 2
    Const ACCT_DELETE = 4
    Const WIN9X_UPGRADE = 16
    Const DOMAIN_JOIN_IF_JOINED = 32
    Const JOIN_UNSECURE = 64
    Const MACHINE_PASSWORD_PASSED = 128
    Const DEFERRED_SPN_SET = 256
    Const INSTALL_INVOCATION = 262144
     
    strComputer = "."
    Ncomputer = inputbox("Digite o novo nome da máquina")
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colComputers = objWMIService.ExecQuery _
        ("Select * from Win32_ComputerSystem")
    For Each objComputer in colComputers
        err = objComputer.Rename(Ncomputer)
    Next
    strDomain = "Dominio"
    strUser = "Administrador"
    strPassword = "senha"
     
    Set objNetwork = CreateObject("WScript.Network")
    strComputer = objNetwork.ComputerName
    Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _
        strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & _
            strComputer & "'")
    ReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, _
        strPassword, strDomain & "\" & strUser, NULL, _
            JOIN_DOMAIN + ACCT_CREATE)
    Wscript.Sleep 2000
    ' Restart a Computer
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate,(Shutdown)}!\\" & _
            strComputer & "\root\cimv2")
    Set colOperatingSystems = objWMIService.ExecQuery _
        ("Select * from Win32_OperatingSystem")
    For Each objOperatingSystem in colOperatingSystems
        objOperatingSystem.Reboot()
    Next
    Porem o nome da máquina deve ser editado manualmente no momento da execução do script.

    assinado

    terça-feira, 16 de agosto de 2011 14:43
  • Rafael estamos falando em quantas maquinas... pq se for 5 os scripts a baixo estão show de bola mas se tiver mais maquinas podemos pensar em algo como consultar um xls e imputar o nome apartir de uma lista.

    Abraços


    Edson Matias Fagundes Junior - (Nioks)
    MCP, MCTS: 2008, MCTS:MBS
    Se a resposta for valida por favor vote como útil.
    terça-feira, 16 de agosto de 2011 21:30