jueves, 17 de mayo de 2012

Como renombrar una computadora por CMD con WMI



Hace ya bastante tiempo vengo teniendo problemas con las computadoras en la empresa donde trabajo, muchas de estas computadoras tienen los nombres que al técnico de turno se le ocurrió, es por eso que las maquinas no tienen un nombre o nomenclatura en común, lo que dificulta mucho el podes encontrarlas en la red cuando lo necesitamos.
Es por eso que se me ocurrió un pequeño Script que ejecutado de manera remota permite renombrar cualquier computadora con el nombre que querramos, y lo mejor que al ser ejecutado por CMD si utilizamos algún programa como el "RemoteAdmin" o "DameWare"evitamos tener que molestar al usuario, ya que se ejecuta sin que el usuario se de cuenta.
Este Script utiliza el WMI de windows, para el que no lo conoce acá dejo una pequeña introducción sacada de Wikipedia

Windows Management Instrumentation o WMI (en español, Instrumental de administración de Windows) pretende establecer normas estándar para tener acceso y compartir la información de administración a través de la red de una empresa.

A continuación dejo el código del script realizado en VBScript. Para utilizarlo simplemente lo tienen que pegar dentro de un archivo .TXT y luego lo renombran a .VBS
Para ejecutarlo simplemente lo ejecutan así de manera local, es decir en la pc que van a renombrar: C:\Documents and Settings\elsoportista\Escritorio>RenombrarPC.vbs NuevoNombre
Recuerden que pueden ejecutarlo de manera remota con alguno de los programas que ya mencione.

CODIGO: 

On Error Resume Next

If WScript.Arguments.Unnamed.Count > 1 OR WScript.Arguments.Unnamed.Count = 0 Then
    WScript.Echo "Error: se han pasado demasiados o Ningun argumento"
    WScript.Quit 1
End If

NombrePC = WScript.Arguments(0)
strComputer = "."
Set objWMIComputadora = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" _ 
    & strComputer & "\root\cimv2")

Set colComputadora = objWMIComputadora.ExecQuery _
        ("Select * from Win32_ComputerSystem")
For Each objComputadora in colComputadora

Return = objComputadora.Rename(NombrePC)
If Return <> 0 Then
Wscript.Echo "ERROR" &VBNewLine & "no se pudo renombrar la pc," & " error nro = " & Return
Else
Wscript.Echo "Renombrado OK." &VBNewLine & "Nuevo nombre: " & NombrePC &VBNewLine & _
"Reinicie la pc para aplicar el cambio."
End If

Next
Set NombrePC = Nothing
Set strComputer = Nothing
Set objWMIComputadora = Nothing
Set colComputadora = Nothing
Set objComputadora = Nothing
Set Return = Nothing


Links Relacionados:


No hay comentarios: