Ok

By continuing your visit to this site, you accept the use of cookies. These ensure the smooth running of our services. Learn more.

11 agosto 2006

Script para sacar el Numero de Serie de una maquina

Para eso teneis que guardar el script en un fichero llamado NumSerie.vbs y ejecutarlo desde una ventana MS-DOS con el comando cscript NumSerie.vbs NOMBREMAQUINA

SCRIPT:

' ***************************************************************************************
' Nombre: NumSerie
' Fecha Creación: jueves, 29 de septiembre de 2005
' Comentario: Script que devuelve el Numero de Serie del equipo que se le pasa como parametro
' Modificaciones
' -----------------------------------------------------------------------------------
' ***************************************************************************************
Dim LocalHost

Private Sub Ayuda()
  WScript.Echo "NumSerie.vbs"
  Wscript.Echo "--------------------"
  Wscript.Echo vbTab & "La sintaxis es: cscript NumSerie.vbs equipo [/?]"
  Wscript.Echo vbTab & "En donde equipo es el destino a sacar el Numero de Serie"
  Wscript.Echo vbTab & "[/?] Parametro opcional, muestra esta pantalla."
  Wscript.Echo ""
  Wscript.Echo vbTab & "Requisitos para ejecutar NumSerie.vbs:"
  Wscript.Echo vbTab & " - La maquina destino debe de estar arrancada"
  Wscript.Echo vbTab & " - El usuario que lo ejecute tiene que tener permisos en la otra maquina"
  Wscript.Echo vbTab & " - La maquina cliente debe de tener XP, Windows 2000 o Windows 2003 instalado"
  Wscript.Echo vbTab & " - No haya ningun Firewall bloqueando el servidor."
  Wscript.Echo ""
  Wscript.Echo ""
  Wscript.Echo "Creado por Carlos Campos"
  WScript.Quit(1)
End Sub


If WScript.Arguments.Count <> 1 then Call Ayuda()

If (WScript.Arguments.Item(0) = "/?" or WScript.Arguments.Item(0) = "-?") then Call Ayuda()

LocalHost = SistemaOperativo(".")

If Instr(LocalHost, "2000") = 0 and Instr(LocalHost, "XP") = 0 and Instr(LocalHost, "2003") = 0 then
  WScript.Echo "ERROR: No se cumple los requerimientos minimos"
  WScript.Echo ""
  Call Ayuda()
End If

If Not HacePing(WScript.Arguments.Item(0)) then
  WScript.Echo "ERROR: El equipo (" & WScript.Arguments.Item(0) & ") no esta conectado a la red"
  WScript.Echo ""
  Call Ayuda()
End If

WScript.Echo "NumSerie: " & NumSerie(WScript.Arguments.Item(0))

Private Function NumSerie(sServidor)
  Dim objWMIService, colItems, objItem
  NumSerie = ""
  Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!" & sServidor & "rootcimv2")
  Set colItems = objWMIService.ExecQuery("Select IdentifyingNumber from Win32_ComputerSystemProduct")
  For Each objItem in colItems
    NumSerie = objItem.IdentifyingNumber
  Next
  Set colItems = Nothing
  Set objWMIService = Nothing
End Function

Private Function SistemaOperativo(strComputer)
  Dim objSWbemServices, colOperatingSystems, objOperatingSystem ' Variables WMI

  SistemaOperativo = ""

  Set objSWbemServices = GetObject("winmgmts:" & strComputer)
  Set colOperatingSystems = objSWbemServices.InstancesOf("Win32_OperatingSystem")

  For Each objOperatingSystem In colOperatingSystems
    SistemaOperativo = SistemaOperativo & ObjOperatingSystem.Caption & " S.P:" & objOperatingSystem.ServicePackMajorVersion & "." & objOperatingSystem.ServicePackMinorVersion
  Next
  Set colOperatingSystems = Nothing
  Set objSWbemServices = Nothing
End Function

Function HacePing(strComputer)
  HacePing = False
  Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select * from Win32_PingStatus where address = '" & strComputer & "'")
  For Each objStatus in objPing
    If IsNull(objStatus.StatusCode) Or objStatus.StatusCode<> 0 Then
      HacePing = False
    Else
      HacePing = True
    End If
  Next
End Function

11:35 Anotado en VBScript | Permalink | Comentarios (0)

Los comentarios son cerrados