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) | Email esto

Los comentarios son cerrados