' ---------------------------------------------------------- ' Script donnant des informations sur le(s) processeur(s) ' et la mémoire vive installée et installable ' d'un ordinateur, local ou distant ' Syntaxe: ' infosprocesseur[.vbs] [] ' Paramètres : ' : nom NetBIOS de l'ordinateur ' s'il est absent -> machine locale ' ' JC BELLAMY © 2007 ' ---------------------------------------------------------- Const SW_HIDE=0 Const SW_SHOWNORMAL=1 Dim fso,shell,net,args,WMI,col Set fso = WScript.CreateObject("Scripting.FileSystemObject") Set shell = WScript.CreateObject("WScript.Shell") Set net = Wscript.CreateObject("WScript.Network") Set args = Wscript.arguments TestHost true if args.count=0 then computer=net.computername else computer=args(0) lMax=17 Set WMI = GetObject("winmgmts:\\" & Computer & "\root\cimv2") Set col = WMI.ExecQuery("Select * from Win32_Processor",,48) Infos="Processeur(s) de l'ordinateur " & ucase(computer) Infos=VBCRLF & Infos & VBCRLF & String(len(Infos),"-") & VBCRLF For Each Item in col PrintInfo "Nom",lMax,Item.Name,0,"","" PrintInfo "Description",lMax,Item.Caption,0,"","" PrintInfo "Fabricant",lMax,Item.Manufacturer,0,"","" PrintInfo "Fréquence CPU",lMax,Item.CurrentClockSpeed,4,"MHz","" PrintInfo "Fréquence CPU max",lMax,Item.MaxClockSpeed,4,"MHz","" PrintInfo "Fréquence externe",lMax,Item.ExtClock,4,"MHz","" PrintInfo "Tension",lMax,cint(Item.CurrentVoltage)/10,4,"V","" PrintInfo "Bus de données",lMax,Item.DataWidth,4,"bits","" PrintInfo "Socket",lMax,Item.SocketDesignation,0,"","" Next Infos=Infos & VBCRLF & VBCRLF & "Mémoire vive installée :" & VBCRLF Set col = WMI.ExecQuery("Select * from Win32_PhysicalMemory",,48) total=0 For Each Item in col capa=Item.Capacity/1024/1024 total=total+capa PrintInfo "Barrette " & Item.DeviceLocator,lMax,capa,4,"Mo",Item.BankLabel Next PrintInfo "TOTAL",lMax,total,4,"Mo","" Set col = WMI.ExecQuery("Select * from Win32_OperatingSystem",,48) For Each Item in col RAM=int(Item.TotalVisibleMemorySize/1024) PrintInfo "RAM visible",lMax,RAM,4,"Mo","" PrintInfo "RAM masquée",lMax,total-RAM,4,"Mo","environ" Next wscript.echo Infos wscript.quit '-------------------------------------------------------------------- Function PrintInfo(prompt,lmax1,value,lmax2,unit,byval comment) sprompt=FormatStrL(prompt,lmax1) sval=trim(value) If IsEmpty(sval) or IsNull(sval) then sval="?" If lmax2>0 Then sval=FormatStrR(sval,lmax2) If comment<>"" Then comment=" (" & comment & ")" Infos=Infos & sprompt & " : " & sval & " " & unit & comment & VBCRLF End Function '-------------------------------------------------------------------- Function FormatStrL(ch,lmax) l=len(ch) If l"cscript" then If force then Init="Ce script doit être lancé avec CSCRIPT" Else Init="Il est préférable de lancer ce script avec CSCRIPT" End If rep=MsgBox(Init & VBCRLF & _ "Cela peut être rendu permanent avec la commande" & VBCRLF & _ "cscript //H:CScript //S /Nologo" & VBCRLF & _ "Voulez-vous que ce soit fait automatiquement?", _ vbYesNo + vbQuestion,strappli) if rep=vbYes then nomcmd="setscript.bat" Set ficcmd = fso.CreateTextFile(nomcmd) ficcmd.writeline "@echo off" ficcmd.writeline "cscript //H:CScript //S /Nologo" ficcmd.writeline "pause" params="" For i = 0 To nbargs-1 params=params & " " & args(i) next ficcmd.writeline chr(34) & strappli & chr(34) & params ficcmd.writeline "pause" ficcmd.close shell.Run nomcmd, SW_SHOWNORMAL,true force=true end if If force then WScript.Quit end if end sub '--------------------------------------------------------------------