par grosbedos » 21 Sep 2003 19:19
un petit script de moi <IMG SRC="images/smiles/icon_wink.gif">
<BR>
<BR>' ----------------------------------------------------------
<BR>' Script donnant des informations sur le(s) processeur(s)
<BR>' et la mémoire vive installée et installable
<BR>' d'un ordinateur, local ou distant
<BR>' Syntaxe:
<BR>' infosprocesseur[.vbs] [<machine>]
<BR>' Paramètres :
<BR>' <machine> : nom NetBIOS de l'ordinateur
<BR>' s'il est absent -> machine locale
<BR>'
<BR>' JC BELLAMY © 2003
<BR>' ----------------------------------------------------------
<BR>Const SW_HIDE=0
<BR>Const SW_SHOWNORMAL=1
<BR>
<BR>Dim fso,shell,net,args,WMI,col
<BR>Set fso = WScript.CreateObject("Scripting.FileSystemObject")
<BR>Set shell = WScript.CreateObject("WScript.Shell")
<BR>Set net = Wscript.CreateObject("WScript.Network")
<BR>Set args = Wscript.arguments
<BR>TestHost
<BR>
<BR>if args.count=0 then computer=net.computername else computer=args(0)
<BR>lMax=17
<BR>Set WMI = GetObject("winmgmts:" & Computer & "rootcimv2")
<BR>Set col = WMI.ExecQuery("Select * from Win32_Processor",,48)
<BR>Infos="Processeur(s) de l'ordinateur " & ucase(computer)
<BR>Infos=VBCRLF & Infos & VBCRLF & String(len(Infos),"-") & VBCRLF
<BR>For Each Item in col
<BR> PrintInfo "Nom",lMax,Item.Name,0,"",""
<BR> PrintInfo "Description",lMax,Item.Caption,0,"",""
<BR> PrintInfo "Fabricant",lMax,Item.Manufacturer,0,"",""
<BR> PrintInfo "Fréquence CPU",lMax,Item.CurrentClockSpeed,4,"MHz",""
<BR> PrintInfo "Fréquence CPU max",lMax,Item.MaxClockSpeed,4,"MHz",""
<BR> PrintInfo "Fréquence externe",lMax,Item.ExtClock,4,"MHz",""
<BR> PrintInfo "Bus de données",lMax,Item.DataWidth,4,"bits",""
<BR> PrintInfo "Socket",lMax,Item.SocketDesignation,0,"",""
<BR> Next
<BR>
<BR>Infos=Infos & VBCRLF & VBCRLF & "Mémoire vive installée :" & VBCRLF
<BR>Set col = WMI.ExecQuery("Select * from Win32_PhysicalMemory",,48)
<BR>total=0
<BR>For Each Item in col
<BR> capa=Item.Capacity/1024/1024
<BR> total=total+capa
<BR> PrintInfo "Barrette " & Item.DeviceLocator,lMax,capa,4,"Mo",Item.BankLabel
<BR> Next
<BR>PrintInfo "TOTAL",lMax,total,4,"Mo",""
<BR>wscript.echo Infos
<BR>wscript.quit
<BR>'--------------------------------------------------------------------
<BR>Function PrintInfo(prompt,lmax1,value,lmax2,unit,byval comment)
<BR>sprompt=FormatStrL(prompt,lmax1)
<BR>sval=trim(value)
<BR>If IsEmpty(sval) or IsNull(sval) then sval="?"
<BR>If lmax2>0 Then sval=FormatStrR(sval,lmax2)
<BR>If comment<>"" Then comment=" (" & comment & ")"
<BR>Infos=Infos & sprompt & " : " & sval & " " & unit & comment & VBCRLF
<BR>End Function
<BR>'--------------------------------------------------------------------
<BR>Function FormatStrL(ch,lmax)
<BR>l=len(ch)
<BR>If l<lmax Then
<BR> For k = l+1 To lmax
<BR> ch=ch & " "
<BR> Next
<BR> End If
<BR>FormatStrL=ch
<BR>End Function
<BR>'--------------------------------------------------------------------
<BR>Function FormatStrR(ch,lmax)
<BR>buff=ch
<BR>l=len(buff)
<BR>If l<lmax Then
<BR> For k = l+1 To lmax
<BR> buff=" " & buff
<BR> Next
<BR> End If
<BR>FormatStrR=buff
<BR>End Function
<BR>'--------------------------------------------------------------------
<BR>'Sous-programme de test du moteur
<BR>'Vu les sorties générées, c'est CSCRIPT (et non pas WSCRIPT)
<BR>'qui doit être utilisé de préférence
<BR>Sub TestHost
<BR>dim rep
<BR>strappli=lcase(Wscript.ScriptFullName)
<BR>strargs=""
<BR>For i = 0 To args.count-1
<BR> strargs=strargs & " """ & args(i) & """"
<BR> Next
<BR>strFullName =lcase(WScript.FullName)
<BR>i=InStr(1,strFullName,".exe",1)
<BR>j=InStrRev(strFullName,"",i,1)
<BR>strCommand=Mid(strFullName,j+1,i-j-1)
<BR>if strCommand<>"cscript" then
<BR> rep=MsgBox( _
<BR> "Ce script doit être lancé avec CSCRIPT" & VBCRLF & _
<BR> "Cela peut être rendu permanent avec la commande" & VBCRLF & _
<BR> "cscript //H:CScript //S /Nologo" & VBCRLF & _
<BR> "Voulez-vous que ce soit fait automatiquement?", _
<BR> vbYesNo + vbQuestion,strappli)
<BR> if rep=vbYes then
<BR> nomcmd="setscript.bat"
<BR> Set ficcmd = fso.CreateTextFile(nomcmd)
<BR> ficcmd.writeline "@echo off"
<BR> ficcmd.writeline "cscript //H:CScript //S /Nologo"
<BR> ficcmd.writeline "pause"
<BR> ficcmd.writeline chr(34) & strappli & chr(34) & strargs
<BR> ficcmd.writeline "pause"
<BR> ficcmd.close
<BR> shell.Run nomcmd, SW_SHOWNORMAL,true
<BR> end if
<BR> WScript.Quit
<BR> end if
<BR>end sub
<BR>'--------------------------------------------------------------------
<BR>
<BR>je pense que l'on peut faire ca en quelques lignes..
<BR>
<BR>ouais ca a l'air bien cygwin, je connaissait pas..vais regarder un peu
<BR>
<BR>
<BR>_________________
<BR>Pour retrouver une aiguille dans une botte de foin, il suffit d'y mettre le feu puis de fouiller les cendres avec un aimant. Bernard Werber<BR><BR><font size=-2></font>
Pour retrouver une aiguille dans une botte de foin, il suffit d'y mettre le feu puis de fouiller les cendres avec un aimant. Bernard Werber