none
COlocar Maquina no dominio RRS feed

  • Pergunta

  • Pessoal gostaria de um script que coloca se, maquinas  no dominio atraves  de  gpo,  com  script de inicialização, Se pudere ajudar  agradeço.
    abraço
    segunda-feira, 31 de março de 2008 11:31

Respostas

  • Claudio o que você pode fazer é na máquina que você vai gerar as imagens, coloca nas politicas locais um script de logon que coloca a máquina automaticamente no dominio e altera o nome dela, segue script que faz isso:

     

    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 = "nome do dominio"
    strUser = "nome do usuário com privilegios a ingressar máquinas no dominio"

    strPassword = "password da conta com os privilegios a ingressar máquinas no dominio"
     
    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)

     

    PS: não testei esse script, testa ele primeiro antes de botar em produção ok? Qualquer coisa avisa Wink

    quinta-feira, 3 de abril de 2008 20:42

Todas as Respostas

  • Claudio segue o script, mas com qual intuito você quer usar isso?

     

    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

    strDomain = "nome do dominio"
    strUser = "nome do usuário com privilegios a ingressar máquinas no dominio"

    strPassword = "password da conta com os privilegios a ingressar máquinas no dominio"
     
    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)

     

    Ps: modifica o que está em negrito ok?

    segunda-feira, 31 de março de 2008 14:49
  • Seria para  colocar as maquinas no dominio via gpo, script de inicalização.
    terça-feira, 1 de abril de 2008 11:33
  • Claudio, esse script só vai funcionar se a máquina JÁ estiver no dominio, pois as GPOs, funcionam a nivel de dominio, acho que o que você quer é quando uma máquina for ingressada na sua rede ele já pegar o dominio automaticamente correto?

    quarta-feira, 2 de abril de 2008 18:52
  • Isso mesmo laerte, na verdade,  estamos gerando a i,magem das maquinas  no ghost,e precisava de um script ue as  coloca se  no dominio, apos um  boot, se  tiver  algoo que possa ajudar  agradeço.
    obrigado.
    Estamos testando o Clonezilla , mas nada  homologado  ainda.
    quinta-feira, 3 de abril de 2008 20:28
  • Claudio o que você pode fazer é na máquina que você vai gerar as imagens, coloca nas politicas locais um script de logon que coloca a máquina automaticamente no dominio e altera o nome dela, segue script que faz isso:

     

    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 = "nome do dominio"
    strUser = "nome do usuário com privilegios a ingressar máquinas no dominio"

    strPassword = "password da conta com os privilegios a ingressar máquinas no dominio"
     
    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)

     

    PS: não testei esse script, testa ele primeiro antes de botar em produção ok? Qualquer coisa avisa Wink

    quinta-feira, 3 de abril de 2008 20:42
  • funcionou  sim cara, mas as  maquinas  que  sao  renomeadas nao alteram seu nome  no AD, mesmo  atualizando o   AD,  mas  no geral funcionou  legal.
    segunda-feira, 7 de abril de 2008 19:16
  • Ok claudio, que bom que te ajudou, qualquer é só chamar Wink

     

    segunda-feira, 7 de abril de 2008 20:47
  • Caro Laerte, estou testando esse script, e na minha maquina n sobre no dominio n, seguinte: ela estava no dominio, e tirei pra testa esse script, o nome troca blz, mas o dominio n troca n, o q sera?

     

    sexta-feira, 25 de abril de 2008 12:02
  •  

    Funcionou, mais eu verifique que ao adcionar um usuário do dominio após o procedimento acusa erro de falha de relaçao de confiança.

    O fato mais estranho é que mesmo sem ter o usuário adicionado eu consigo logar normalmente. 

    Depois de uma vez logado consigo adicionar o usuário sem problemas.

    Tô usando Windows Vista Businnes.

     

    att,  


    sexta-feira, 2 de maio de 2008 13:27
  •  

    Boa Noite

     

    Eu queria um Script bem parecido com esse ai, eu queria um Script pra mudar o Grupo da maquina.

    o nome do grupo ja vai estar gravado em uma variavel do sistema com o nome %GRUPO%.

     

    Esse script esta sendo feito originalmente em bath .bat mais ñ sei como mudar o grupo em bath ai vou chamar um .vbs por dentro do bath pra fazer isso

     

    Agradeço a todos.

    quarta-feira, 2 de julho de 2008 21:59
  • Penso que este script deve ajudar vcs...

     


    Const NETSETUP_ACCT_DELETE = 2 'Disables computer account in domain.
    strPassword = "senha"
    strUser = "usuario"

    Set objNetwork = CreateObject("WScript.Network")
    strComputer = objNetwork.ComputerName

    Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _
        strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & _
            strComputer & "'")
    strDomain = objComputer.Domain
    intReturn = objComputer.UnjoinDomainOrWorkgroup _
     (strPassword, strDomain & "\" & strUser, NETSETUP_ACCT_DELETE)


    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
     
    ' Entre aqui com as Informações
    strDomain = "dominio"
    strPassword = "senha"
    strUser = "usuario"

    Set objNetwork = CreateObject("WScript.Network")
    strComputer = objNetwork.ComputerName

     

    Se ajudou marca ai....

     

    Antonio Minier

    sexta-feira, 4 de julho de 2008 01:42
  •  Meio gambiarra isso heim... mas parece funcionar. Minha dica parece mais simples: se as máquinas vão possuir imagens, porque não usar o SYSPREP da Microsoft e criar um arquivo de resposta que, dentre outras coisas, pode colocar a máquina no domínio diretamente? Essa é a solução recomendada (e documentada) pela própria MS, fabricante do produto.



    []s,


    Vinicius Canto
    MVP Windows Server - Admin Frameworks
    Blog sobre scripting: http://viniciuscanto.blogspot.com

    sexta-feira, 4 de julho de 2008 12:14
    Moderador
  •  Monsyer wrote:

    Penso que este script deve ajudar vcs...

     


    Const NETSETUP_ACCT_DELETE = 2 'Disables computer account in domain.
    strPassword = "senha"
    strUser = "usuario"

    Set objNetwork = CreateObject("WScript.Network")
    strComputer = objNetwork.ComputerName

    Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _
        strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & _
            strComputer & "'")
    strDomain = objComputer.Domain
    intReturn = objComputer.UnjoinDomainOrWorkgroup _
     (strPassword, strDomain & "\" & strUser, NETSETUP_ACCT_DELETE)


    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
     
    ' Entre aqui com as Informações
    strDomain = "dominio"
    strPassword = "senha"
    strUser = "usuario"

    Set objNetwork = CreateObject("WScript.Network")
    strComputer = objNetwork.ComputerName

     

    Se ajudou marca ai....

     

    Antonio Minier



    Esse script vai tentar adicionar a maquina em um dominio ou só vai mudar o grupo ???
    No meu caso o Sysprep ñ atende as nessecidades.

    Vou colocar meu scrip a baixo pra galera entender o que eu estou querendo.


    @echo off
    :NAO
    REM Variaveis...
    set IP=10.96.16
    set MASCARA=255.255.254.0
    set GATEWAY=10.96.166.1
    set DNS1=10.200.2.32
    set DNS2=10.200.2.31
    set IMPRESSORA1=MIALFI
    set IMPRESSORA2=MIALFI
    set GRUPO=MIALFG
    set NOME=MIALFE
    set COMENTARIO=
    echo.

    REM Lendo IP
    cls
    echo.
    set /P X=Qual o IP? %IP%
    set IP=%IP%%X%

    REM Testendo conflito de IP
    echo.
    ping -a -n 1 %IP% > nul
    set X=N
    IF %ERRORLEVEL% == 0 set /P X=Esse IP %IP% esta em uso na rede nesse momento. Deseja SAIR (S/N)?
    IF /I %X% NEQ N EXIT

    REM Lendo GRUPO
    cls
    echo.
    set /P X=Qual o GRUPO? %GRUPO%
    set GRUPO=%GRUPO%%X%
    REM Obtendo nome das Imperssoras
    set IMPRESSORA1=%IMPRESSORA%%X%-01
    set IMPRESSORA2=%IMPRESSORA%%X%-02

    REM Lendo NOME
    cls
    echo.
    set NOME=%NOME%%X%-
    set /P X=Qual o NOME da maquina? %NOME%
    set NOME=%NOME%%X%

    REM Lendo  COMENTARIO
    cls
    echo.
    set /P COMENTARIO=Qual o nome do USUARIO?

    REM Lendo PATRIMONIO do Compuatador
    cls
    echo.
    set /P PATRIMONIOC=Qual o numero de PATRIMONIO do Computador?

    REM Lendo numero de SERIE do Computador
    cls
    echo.
    set /P SERIEC=Qual o numero de SERIE do Computador?

    REM Lendo PATRIMONIO do Monitor
    cls
    echo.
    set /P PATRIMONIOM=Qual o numero de PATRIMONIO do Monitor?

    REM Lendo numero de SERIE do Monitor
    cls
    echo.
    set /P SERIEM=Qual o numero de SERIE Monitor?

    REM Lendo PATRIMONIO da Impressora
    cls
    echo.
    set /P PATRIMONIOI=Qual o numero de PATRIMONIO da Impressora?

    REM Lendo numero de SERIE da Impressora
    cls
    echo.
    set /P SERIEI=Qual o numero de SERIE da Impressora?

    REM Lendo PATRIMONIO do LEITOR
    cls
    echo.
    set /P PATRIMONIOL=Qual o numero de PATRIMONIO da Leitor?

    REM Lendo numero de SERIE do LEITOR
    cls
    echo.
    set /P SERIEL=Qual o numero de SERIE do Leitor?

    REM Verificando a ausencia de impressora
    REM if /I %PATRIMONIOI% == %SERIEM% set PATRIMONIOI=
    REM if /I %SERIEI% == %SERIEM%    set SERIEI=

    REM Verificando a ausencia de impressora
    REM if /I %PATRIMONIOL% == %SERIEM% set PATRIMONIOL=
    REM if /I %SERIEL% == %SERIEM%    set SERIEL=

    REM Confirmando Configuração
    cls
    echo.
    echo IP = %IP%
    echo.
    echo GRUPO = %GRUPO%
    echo.
    echo NOME = %NOME%
    echo.

    set /P X=Confirma essas configura‡äes (S/N)?

    if /I %X% == S goto SIM
        goto NAO

    echo Gravando Informações
    Tongue TiedIM
    echo %NOME%;%IP%;%PATRIMONIOC%;%SERIEC%>> \\10.96.167.222\Servidor\Documentos\Inventario\COMPUTADORES-%GRUPO%.TXT
    echo %NOME%;%PATRIMONIOM%;%SERIEM%>> \\10.96.167.222\Servidor\Documentos\Inventario\MONITORES-%GRUPO%.TXT
    echo %NOME%;%PATRIMONIOL%;%SERIEL%>> \\10.96.167.222\Servidor\Documentos\Inventario\LEITORES-%GRUPO%.TXT
    echo %NOME%;%PATRIMONIOI%;%SERIEI%>> \\10.96.167.222\Servidor\Documentos\Inventario\IMPRESSORAS-%GRUPO%.TXT

    echo Configurando Nome de Maquina e Grupo
    REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\lanmanserver\parameters" /v "srvcomment" /t "REG_SZ" /d %COMENTARIO% /f
    REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters" /v "NV Hostname" /t "REG_SZ" /d %NOME% /f

    echo Trocando Senha
    \\10.96.167.222\servidor\Programas\senha.vbs

    REM prnmngr -x
    REM prnmngr -a -p %IMPRESSORA1% -m Nome_do_Driver -r %IMPRESSORA1%
    REM prnmngr -a -p %IMPRESSORA2% -m Nome_do_Driver -r %IMPRESSORA2%
    REM prnport -a -r %IMPRESSORA1% -h %IMPRESSORA1% -o raw -n 9100 -m e -2 d
    REM prnport -a -r %IMPRESSORA2% -h %IMPRESSORA2% -o raw -n 9100 -m e -2 d
    REM prncnfg -t -p %IMPRESSORA1% -r %IMPRESSORA1%
    REM prncnfg -t -p %IMPRESSORA2% -r %IMPRESSORA2%

    echo Configurando Rede
    netsh interface ip set address name="ConexÆo Local" source=static %IP% %MASCARA% %GATEWAY% 1
    netsh interface ip set dns name="ConexÆo local" static %DNS1%
    netsh interface ip add dns name="ConexÆo local" addr=%DNS2% index=2

    cls
    echo.
    set /P X=Deseja reinstalar o ANTI-VIRUS (S/N)?
    echo Reinstalando Anti-Virus
    if /I %X% == S CALL \\10.96.167.222\Servidor\Programas\Trend.bat
    shutdown -s -f -t 600
    EXIT


    NO LUGAR DA KARINHA É ": SIM" "dois pontos SIM"

    O que esta dando problema de ves em quando é na hora de trocar o nome da maquina e o ip.
    O grupo tenho que trocar manualmente.
    sexta-feira, 4 de julho de 2008 16:48
  • Vinicius, porque gambiarra?

     

    Aroldo,

     

    Este script vai colocar a maquina em grupo caso ela esteja em outro dominio e depois coloca-la no dominio que vc especificar...caso a maquina ja esteja no grupo, pelo que vi eh o seu caso, roda somente a parte debaixo do script...

     

    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
     
    ' Entre aqui com as Informações
    strDomain = "sisema.net"
    strPassword = "SOFT5corp"
    strUser = "softcorp"

    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)

     

    se ajudou marque como SIM...

    sexta-feira, 4 de julho de 2008 23:19
  •  

    O Monsyer muito obrigado segunda eu vou testar só esta parte do scripit
    sábado, 5 de julho de 2008 21:40
  • Aqui na empresa onde trabalho, estamos criando as imagens, com o sysprep, opção "mini-setup", só que colocamos no CD do Windows SP3, o Drivers Packs, com a opção de armazenar os drives no HD depois da instalação, sendo assim, todo hardware seráreconhecido novamente, e o drivers já estarão no micro, isso está ecomizando muito espaço no nosso servidor de ghost. Nós separamos por chipset da pl mãe, mas tb conseguimos subir com chipsets diferentes ex: sis com intel, etc.

     

    Espero ter ajudado.

     

    Eduardo Cunha

    MCP 2k3

    segunda-feira, 7 de julho de 2008 11:26
  •  Monsyer wrote:

    Vinicius, porque gambiarra?

     

    Aroldo,

     

    Este script vai colocar a maquina em grupo caso ela esteja em outro dominio e depois coloca-la no dominio que vc especificar...caso a maquina ja esteja no grupo, pelo que vi eh o seu caso, roda somente a parte debaixo do script...

     

    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
     
    ' Entre aqui com as Informações
    strDomain = "sisema.net"
    strPassword = "SOFT5corp"
    strUser = "softcorp"

    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)

     

    se ajudou marque como SIM...

     

     

    Não foi desta vez.
    Não modou o grupo.

     

    Mais obrigado mesmo assim.

    O que sera que deu errado.

    Ai na sua maquina funcionou.
    quinta-feira, 10 de julho de 2008 17:39
  • Pessoal

    Eu preciso de um script para inserir varias maquinas no AD em lote, tipo pegando de uym arquivo txt

    Alguem tem?

    Grato
    Almir

    terça-feira, 19 de março de 2013 01:19