none
Renomear a conta de administrador local das estações RRS feed

  • Pergunta

  • Pessoal estou precisando renomear a conta de administrador local das minhas estações em rede, alguém têm algum script para isso? Sei que dá para fazer via GPO, mas gostaria de um script.

    Obrigado

    segunda-feira, 30 de outubro de 2006 11:39

Respostas

  • Diego,

        O script abaixo é bem direto, ele não identifica o administrador local , vc tem que passar o nome atual pra ele poder renomear.

    strComputer="."
    strLocalAdmin="Administrador" 'Nome atual
    strNovoAdmin="TesteADM" 'Nome para o qual vai ser alterado

    Set objLocalAdmin = GetObject("WinNT://" & strComputer & "/" & strLocalAdmin)
    Set objComputer = GetObject("WinNT://" & strComputer)

    objComputer.MoveHere objLocalAdmin.AdsPath, strNovoAdmin

    segunda-feira, 30 de outubro de 2006 12:42
    Moderador
  • Lembrando que todas as terças estarei ministrando um webcast sobre scripting no Technet... 4 free...

    Só remendando o código dele.:


    strLocalAdmin="Administrador" 'Nome atual
    strNovoAdmin="TesteADM" 'Nome para o qual vai ser alterado
    strPath = "arquivo.txt"

    set objFSO = CreateObject("Scripting.FilesystemObject")
    set file = objFSO.OpenAsTextStream(strPath)
    do while not file.AtEndOfStream
       strComputer = file.readline
       set objLocalAdmin = GetObject("WinNT://" & strComputer & "/" & strLocalAdmin)
       set objComputer = GetObject("WinNT://" & strComputer)
       objComputer.MoveHere objLocalAdmin.AdsPath, strNovoAdmin
    loop

    []s,


    --
    Vinicius Canto <scripterbratgmaildotcom>
    MVP Visual Developer - Scripting
    MCP Windows 2000 Server, Windows XP e SQL Server 2000
    Blog sobre Scripting: http://viniciuscanto.blogspot.com

    segunda-feira, 30 de outubro de 2006 16:20
    Moderador

Todas as Respostas

  • Diego,

        O script abaixo é bem direto, ele não identifica o administrador local , vc tem que passar o nome atual pra ele poder renomear.

    strComputer="."
    strLocalAdmin="Administrador" 'Nome atual
    strNovoAdmin="TesteADM" 'Nome para o qual vai ser alterado

    Set objLocalAdmin = GetObject("WinNT://" & strComputer & "/" & strLocalAdmin)
    Set objComputer = GetObject("WinNT://" & strComputer)

    objComputer.MoveHere objLocalAdmin.AdsPath, strNovoAdmin

    segunda-feira, 30 de outubro de 2006 12:42
    Moderador
  • Olá Fabio, obrigado pela ajuda, eu consigo de alguma forma fazer um txt com todas as máquinas do meu domnio para este script alterar tudo de uma vez? Ou ela ja faz isso.

    Obrigado

    segunda-feira, 30 de outubro de 2006 15:22
  • Lembrando que todas as terças estarei ministrando um webcast sobre scripting no Technet... 4 free...

    Só remendando o código dele.:


    strLocalAdmin="Administrador" 'Nome atual
    strNovoAdmin="TesteADM" 'Nome para o qual vai ser alterado
    strPath = "arquivo.txt"

    set objFSO = CreateObject("Scripting.FilesystemObject")
    set file = objFSO.OpenAsTextStream(strPath)
    do while not file.AtEndOfStream
       strComputer = file.readline
       set objLocalAdmin = GetObject("WinNT://" & strComputer & "/" & strLocalAdmin)
       set objComputer = GetObject("WinNT://" & strComputer)
       objComputer.MoveHere objLocalAdmin.AdsPath, strNovoAdmin
    loop

    []s,


    --
    Vinicius Canto <scripterbratgmaildotcom>
    MVP Visual Developer - Scripting
    MCP Windows 2000 Server, Windows XP e SQL Server 2000
    Blog sobre Scripting: http://viniciuscanto.blogspot.com

    segunda-feira, 30 de outubro de 2006 16:20
    Moderador
  • Aproveitando que a sua dúvida parace ser a de muitos:

    https://forums.microsoft.com/Technet-BR/ShowPost.aspx?PostID=873855&SiteID=29

    segunda-feira, 30 de outubro de 2006 20:29
    Moderador
  • Boa tarde,

     

    Segue a minha contribuição. - Aqui onde trabalho, funciona Ok !!!

    Coloque o script no startup das maquinas.

    Set oWshNet = CreateObject("WScript.Network")

    sComputerName = oWshNet.ComputerName

    sNewUser = "admin_" & sComputerName

    usuario = UCase(sNewUser)

    sOldUser = GetAdministratorName(sComputerName)

    On Error Resume Next

    Set oUser = GetObject("WinNT://" & sComputerName & "/" _

    & sOldUser & ",user")

    If LCase(sNewUser) <> LCase(sOldUser) Then

    Set oComputer = GetObject("WinNT://" & sComputerName)

    Set oNewUser = oComputer.MoveHere(oUser.ADsPath, sNewUser)

    End If

    On Error Goto 0

    Function GetAdministratorName(sComputerName)

    Dim sUserSID, oWshNetwork, oUserAccount

    Set oUserAccounts = GetObject( _

    "winmgmts:{impersonationLevel=impersonate}!//" _

    & sComputerName & "/root/cimv2").ExecQuery( _

    "Select Name, SID from Win32_UserAccount WHERE Domain = '" _

    & sComputerName & "'")

    On Error Resume Next

    For Each oUserAccount In oUserAccounts

    If Left(oUserAccount.SID, 9) = "S-1-5-21-" And _

    Right(oUserAccount.SID, 4) = "-500" Then

    GetAdministratorName = oUserAccount.Name

    Exit For

    End if

    Next

    End Function

     

    abraços

     

    Paulo

    terça-feira, 21 de novembro de 2006 17:16