none
Criar um script para alterar Hostname! RRS feed

  • Discussão Geral

  • Caros,

    Estou precisando criar 1 script para alterar os hostnames das estações de trabalho, mas tem a seguinte questão, todas elas estão no dominio e quando vo mudar o hostname, pede o usuário e a senha de 1 usuário do dominio que tenha permissão para fazer alteração.

    Preciso de 1 script que seja em .bat é possível essa alteração de hostname com 1 script .bat??

    ah pessoal e antes que eu esqueça, eu procurei aqui no forum de scripts e outros locais e achei o seguinte:

    @echo off

    SET /P PCNAME=Please enter your name: 

    REG ADD HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName /v ComputerName /t REG_SZ /d %PCNAME% /f

    esse comando muda só o hostname, mas quando fui ver ele mudou no netbios diretamente no registro e continuou aparecendo o hostname antigo mais quando eu ia fazer logon na máquina aparecia o hostname que foi alterado por esse comando .bat

    e achei também:

    Ncomputer = Inputbox("Insira o novo nome da máquina:")

     

    strComputer = "."

    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, strDomain, strUser, strPassword)

    Next

    Esse script altera o hostname, mas eu teria que ir na máquina logar com minha conta de administrador do dominio e executar o script manual, coisa que não faz muito sentido se eu estou querendo automatizar o processo por meio de 1 script, agradeço pela atenção!

    segunda-feira, 28 de fevereiro de 2011 18:24

Todas as Respostas

  • Alguem poderia ajudar?
    Gabriel Lima Analista Suporte Trainee
    terça-feira, 1 de março de 2011 13:55
  • Carlos, agradeço a tentativa...

    Mas esse script é o que eu postei ali em cima...

    Ele altera o hostname...

    Mas acontece o seguinte problema:

    1 - A máquina está no dominio, vai precisar do meu usuário com direitos para alterar o hostname

    2 - os usuários que logan ná máquina nao tem permissão para alterar os hostname.

    Esse script só dá certo quando você não está no dominio e quando está com usuário administrador que tenha permissão para alterar o hostname.

    Grato!

    Att,

     


    Gabriel Lima Analista Suporte Trainee
    quarta-feira, 2 de março de 2011 17:39
  • Este é um script que eu uso para alterar o nome de um pc. Não esquecer que na estrutura, portanto na directoria onde está o script tem que obrigatoriamente de ter o ficheiro netdom.exe

    Dim WshShell, objFSO, objNetwork, SystemDrive, ScriptDirectory, strKeyPath
    Dim strComputer, strBios, objWMIService, strHostName, strRegHostName

    strComputer = "."
    strBios = ""

    Set WshShell = WScript.CreateObject("WScript.Shell")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objNetwork = Wscript.CreateObject("WScript.Network")
    SystemDrive = WshShell.ExpandEnvironmentStrings("%Systemdrive%")
    ScriptDirectory = objFSO.GetParentFolderName(wscript.ScriptFullName)
    ScriptDirectory = ScriptDirectory & "\"
    Set objWMIService = GetObject("winmgmts:"&"{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

    strHostName = WshShell.ExpandEnvironmentStrings("%COMPUTERNAME%") 'Output: Only HostName Computer
    strRegHostName = WshShell.RegRead("HKLM\System\CurrentControlSet\Control\ComputerName\ActiveComputerName\ComputerName")

    Set colBios = objWMIService.ExecQuery("Select * from Win32_BIOS")

    For each objBios in colBios
     'msgbox objBios.SerialNumber 'Output: Only SerialNumber
     strBios = objBios.SerialNumber
    Next

    If strRegHostName <> "PT-" & strBios & "" Then
     WshShell.Run ("%COMSPEC% /c c:\netdom.exe renamecomputer " & strHostName & " /NewName:PT-" & strBios & " /Force>> c:\loghostname.txt"), 1, True
    Else
     msgbox "nome igual"
    End If

    'Restarts the machine (all tasks should now be completed).
    WshShell.Run ("%COMSPEC% /C shutdown /r /t 15 /c "" Alteraco do hostname. Verifique ficheiro o log c:\loghostname.txt. Finalizing OS installation..."" /f /d p:4:1"), 1, False

    Wscript.Quit

    quarta-feira, 9 de março de 2011 03:01
  • Muito obrigado pelo script, assim que chegar na empresa eu vou tentar....
    Gabriel Lima Analista Suporte Trainee
    quarta-feira, 9 de março de 2011 13:47