martes, 24 de enero de 2012

Query local admin name - Consultar el nombre del adminsitrator local

Dado que la cuenta built-in puede ser renombrada es importante para distintas tareas conocer el nombre real del adminsitrator. Tambien puede variar el nombre según el idioma del SO.


Para esto lo mejor es buscar el usuario teniendo en cuenta su SID.
El SID del adminsitrator siempre termina en 500 y comienza con S-1-5:

A continuación el script para hacer la consulta:


strComputer="127.0.0.1"    ' local computer by default   
Set objUser=GetObject("WinNT://" & strComputer & "/" & GetAdminName & ",user")     


msgbox (getAdminName())




Function GetAdminName   
  Set objNetwork = CreateObject("Wscript.Network") 'get the current computer name 
  objComputerName = objNetwork.ComputerName    
  Set objwmi = GetObject("winmgmts:{impersonationLevel=impersonate}!//" & objComputerName)


  qry = "SELECT * FROM Win32_Account where Domain = '" & cstr(objComputerName) & "'" 


  For Each Admin in objwmi.ExecQuery(qry)   
    if (left(admin.sid, 6) = "S-1-5-" and right(admin.sid,4) = "-500") then 'look for admin sid
       GetAdminName = admin.name
    end if   
  next    
end Function

No hay comentarios.:

Publicar un comentario