Conversion Batch en VBS [Résolu]

cs_rhunter 3 Messages postés mercredi 27 octobre 2010Date d'inscription 29 octobre 2010 Dernière intervention - 27 oct. 2010 à 16:54 - Dernière réponse : cs_Le Pivert 5148 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 24 mai 2018 Dernière intervention
- 29 mai 2013 à 20:42
Bonjour,

Je souhaite et dois (pour mon entreprise) refaire un script que j'ai fait en batch en VBS, je n'y connais pas encore grand chose.

voici mon script en batch :

@title Nom du Service - N° de tél du Service
@echo off
mode con cols=65
mode con lines=45
net start winvnc
net stop sharedaccess
cls
echo.
@echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º Nom Ordinateur / Computer Name º
@echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
hostname             
echo ________________________
echo.
@echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º Nom Utilisateur / User Name º
@echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo %userdomain%\%username%
echo ________________________
echo.
@echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º Adresse IP / IP Adress º
@echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
ipconfig | find "IP"
echo ________________________
echo.
@echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º Numero de Serie / Serial Number º
@echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
wmic bios get serialnumber
echo ________________________
echo.
@echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º Modele Ordinateur / Computer Model º
@echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
wmic csproduct get name
echo ________________________
echo.
pause


Merci de bien vouloir m'aider pour sa conception en VBS.

--
L'urgent est fait, l'impossible est en cours,
Pour les miracles, prévoir un délai...
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
cs_Le Pivert 5148 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 24 mai 2018 Dernière intervention - 28 oct. 2010 à 11:23
3
Merci
Bonjour,
Voici un code en VBS qui liste sur une feuille Excel des infos sur le PC:

Set WSHShell = WScript.CreateObject("WScript.Network")
strComputer = WSHShell.ComputerName

'strComputer = InputBox ("Enter Machine Name")

Dim objWMIService

Set objExcel = CreateObject("Excel.Application")

objExcel.Visible = True

objExcel.Workbooks.Add

objExcel.Cells(1, 1).Value = "Name"

objExcel.Cells(2, 1).Value = "Caption"

objExcel.Cells(3, 1).Value = "Version"

objExcel.Cells(4, 1).Value = "Registered User"

objExcel.Cells(5, 1).Value = "Serial Number"

objExcel.Cells(6, 1).Value = "CSD Version"

objExcel.Cells(7, 1).Value = "Description"

objExcel.Cells(8, 1).Value = "Last Boot Up Time"

objExcel.Cells(9, 1).Value = "Local Date Time"

objExcel.Cells(10, 1).Value = "Organization"

objExcel.Cells(11, 1).Value = "Domain"

objExcel.Cells(12, 1).Value = "Manufacturer"

objExcel.Cells(13, 1).Value = "Model"

objExcel.Cells(14, 1).Value = "Number Of Processors"

objExcel.Cells(15, 1).Value = "Primary Owner Name"

objExcel.Cells(16, 1).Value = "System Type"

objExcel.Cells(17, 1).Value = "Total Physical Memory"

objExcel.Cells(18, 1).Value = "User Name"

objExcel.Cells(19, 1).Value = "Caption"

objExcel.Cells(20, 1).Value = "Manufacturer"

objExcel.Cells(21, 1).Value = "Name"

objExcel.Cells(22, 1).Value = "Release Date"

objExcel.Cells(23, 1).Value = "Serial Number"

objExcel.Cells(24, 1).Value = "SMBIOS BIOS Version"

objExcel.Cells(25, 1).Value = "Version"

Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")

For Each objItem in colItems

objExcel.Cells(1, 2).Value = objItem.CSName

objExcel.Cells(2, 2).Value = objItem.Caption

objExcel.Cells(3, 2).Value = objItem.Version

objExcel.Cells(4, 2).Value = objItem.RegisteredUser

objExcel.Cells(5, 2).Value = objItem.SerialNumber

objExcel.Cells(6, 2).Value = objItem.CSDVersion

objExcel.Cells(7, 2).Value = objItem.Description

objExcel.Cells(8, 2).Value = objItem.LastBootUpTime

objExcel.Cells(9, 2).Value = objItem.LocalDateTime

objExcel.Cells(10, 2).Value = objItem.Organization

Next

Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")

For Each objItem in colItems

objExcel.Cells(11, 2).Value = objItem.Domain

objExcel.Cells(12, 2).Value = objItem.Manufacturer

objExcel.Cells(13, 2).Value = objItem.Model

objExcel.Cells(14, 2).Value = objItem.NumberOfProcessors

objExcel.Cells(15, 2).Value = objItem.PrimaryOwnerName

objExcel.Cells(16, 2).Value = objItem.SystemType

objExcel.Cells(17, 2).Value = (objItem.TotalPhysicalMemory /1024) & "MB"

objExcel.Cells(18, 2).Value = objItem.UserName

Next

Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_BIOS")

For Each objItem in colItems

objExcel.Cells(19, 2).Value = objItem.Caption

objExcel.Cells(20, 2).Value = objItem.Manufacturer

objExcel.Cells(21, 2).Value = objItem.Name

objExcel.Cells(22, 2).Value = objItem.ReleaseDate

objExcel.Cells(23, 2).Value = objItem.SerialNumber

objExcel.Cells(24, 2).Value = objItem.SMBIOSBIOSVersion

objExcel.Cells(25, 2).Value = objItem.Version

Next

objExcel.Range("A1:A25").Select

objExcel.Selection.Font.ColorIndex = 11

objExcel.Selection.Font.Bold = True

objExcel.Cells.EntireColumn.AutoFit

MsgBox "Terminé"


Vous copier le code dans un fichier VBS. Si vous avez un problème envoyez-moi votre e-mail sur MP et je vous le ferez parvenir

@+Le Pivert

Merci cs_Le Pivert 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de cs_Le Pivert
Meilleure réponse
cs_Le Pivert 5148 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 24 mai 2018 Dernière intervention - 28 oct. 2010 à 12:04
3
Merci
Voici en complément l'adresse IP:

strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "!\" & strComputer & "\root\cimv2" )
Set colAdapters objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled True" )
For Each objAdapter in colAdapters

    IPdebut = LBound(objAdapter.IPAddress)
    IPfin = UBound(objAdapter.IPAddress)
    If (objAdapter.IPAddress(IPdebut) <> "" ) then
   

        For i = IPdebut To IPfin
                msg = msg & "utilise l'adresse IP " & objAdapter.IPAddress(i) & vbCrLf
        Next   
       
    End If
Next


Wscript.Echo msg
 



@+ Le Pivert

Merci cs_Le Pivert 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de cs_Le Pivert
Meilleure réponse
cs_rhunter 3 Messages postés mercredi 27 octobre 2010Date d'inscription 29 octobre 2010 Dernière intervention - 28 oct. 2010 à 13:09
3
Merci
Merci Le Pivert,

Dans un premier temps je n'arrive pas, ou je dirais plus que je ne sais pas ou rajouter le complément pour l'adresse IP.

Et sinon ton code est très très bien mais c'est pour une utilisation support user et je n'ai besoin que des information que mon .BAT communique sans le reste et surtout dans une fenêtre que l'utilisateur ou moi même pouvons fermer comme avec le .bat

http://yfrog.com/mvsanstitrewdp</code>


Je te remercie encore pour ton aide.

Cdt,

--
Rhunter,
L'urgent est fait, l'impossible est en cours,
Pour les miracles, prévoir un délai...

Merci cs_rhunter 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de cs_rhunter
Meilleure réponse
cs_Le Pivert 5148 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 24 mai 2018 Dernière intervention - 28 oct. 2010 à 18:15
3
Merci
Voici le code avec les infos que tu veux:

strComputer = "."

Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")

For Each objItem in colItems
msg = msg & "Nom de l'ordinateur: " & vbCrLf & objItem.CSName & vbCrLf & vbCrLf
msg = msg & "Numéro de série: " & vbCrLf & objItem.SerialNumber & vbCrLf & vbCrLf
Next

Set objWMIService = GetObject("winmgmts:" & "!\" & strComputer & "\root\cimv2" )
Set colAdapters objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled True" )
For Each objAdapter in colAdapters

    IPdebut = LBound(objAdapter.IPAddress)
    IPfin = UBound(objAdapter.IPAddress)
    If (objAdapter.IPAddress(IPdebut) <> "" ) then
   

        For i = IPdebut To IPfin
                msg = msg & "utilise l'adresse IP " & vbCrLf & objAdapter.IPAddress(i) & vbCrLf & vbCrLf
        Next   
       
    End If
Next

Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
For Each objItem in colItems
msg = msg & "Modèle de l'ordinateur: " & vbCrLf & objItem.Model & vbCrLf & vbCrLf
msg = msg & "Nom de l'utilisateur: " & vbCrLf & objItem.UserName & vbCrLf & vbCrLf
Next

Wscript.Echo msg
 


Maintenant si tu veux des touches comme sur le site que tu m'as indiqué il faudra faire cela en VBA Excel sur un UserForm car je ne sais pas le faire en VBS

@+ Le Pivert

Merci cs_Le Pivert 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de cs_Le Pivert
Meilleure réponse
cs_rhunter 3 Messages postés mercredi 27 octobre 2010Date d'inscription 29 octobre 2010 Dernière intervention - 29 oct. 2010 à 10:56
3
Merci
Encore merci pour tout Le Pivert

C'est tout à fait ça, maintenant a moi de bien l'étudier et d'apporter des modifs si besoin.

Cordialement,

--
Rhunter,
L'urgent est fait, l'impossible est en cours,
Pour les miracles, prévoir un délai...

Merci cs_rhunter 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de cs_rhunter
0
Merci
salut l’amie
es ce que tu peut m'aider,,, j'ai vu ton scripte vbs et il est très bien
sauf que moi je cherche la même chose avec le php
es ce que tu peut m'aider, j'ai fait quelque recherche et j'ai trouver que avec le dos il existe sa : wmic csproduct et il affiche plein de truc

et donc le bute c'est de réaliser une application php que j'utiliserai directement a travers un espace héberger dans mon site pour récolter les infos des ordinateur un par un a chaque fois que j’exécuterai la page qui contiendra le code php
ensuite je reçois un mail directement avec les donner
sauf que il me manque le nemero de serie de l'ordinateur comme avec la commande wmic csproduct
dans un premier temp j'ai put réaliser sa :

visiteur.php (la page a lancer sur pc )
ip-track.txt (le ficheir qui centiendra les info)
ip-track.php

les codes source php
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
visiteur.php

<?
include ("ip_track.php");
?>
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
ip-track.php

<?php
// Nom du fichier des logs
$fichier="ip-track.txt";
$fp=fopen("$fichier","a");
// Donne la date et l'heure française
$Jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
$Mois = array("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
$date = $Jour[date("w")]." ".date("d")." ".$Mois[date("n")]." ".date("Y");
$heure = gmdate("H \h i", mktime(date("H")+1,date("i")));
$fsz=filesize("$fichier");
// Récupère l'IP et le FAI du visiteur (même si proxy)
$ip_visiteur = (getenv("HTTP_X_FORWARDED_FOR") ? getenv("HTTP_X_FORWARDED_FOR") : getenv("REMOTE_ADDR"));
$fai_visiteur = gethostbyaddr("$REMOTE_ADDR");
// Reccupere le port
$port = $_SERVER['REMOTE_PORT'];
fseek($fp,$fsz);
// Reccuperer le login
$login=$_SERVER['PHP_AUTH_USER'];
// Reccupere données navigateur
$referer = getenv("HTTP_USER_AGENT");
// Enregistre les données
fputs($fp,"Le: $date à $heure\n | IP: $ip_visiteur | Port: $port | Login: $_SERVER | FAI du visiteur: $fai_visiteur | Navigateur: $referer");
fclose($fp);
// Infos perso
$email="monmail@gmail.com";
$titre="Visiteurs | Nouveau visiteur | Info";
$messag="Un visiteur vient de passer sur notre site.

SECURITE INFORMATIQUE
Infos du concerné :
- Le : $date à $heure
- IP : $ip_visiteur
- Port : $port
- Login : $_SERVER
- FAI : $fai_visiteur
- Navigateur: $referer
Fin d'informations.";
// Espion interne
// envoi un mail
// pour désactiver, (spam si plus de 50 visites) ajouter
// deux slash devant la fonction mail() --> "//"
mail($email,$titre,$messag);
?>
-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Commenter la réponse de gpsa1
cs_Le Pivert 5148 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 24 mai 2018 Dernière intervention - 22 mai 2013 à 15:31
0
Merci
Bonjour,

Je suis désolé, mais je ne connais rien en php. Pose ta question à cette adresse:

http://www.phpcs.com/infomsg.aspx?ajout=1

@+ Le Pivert
Commenter la réponse de cs_Le Pivert
0
Merci
je te remerci

es ce que si je met le fichier vbs directement dans mon espace hebergement sa va fonctionner ?

si-oui
es ce que tu peut rajouter le skripte qui enregistre le fichier excel directement a la racine ou le fichier vbs se lance sans ouverture du fichier excel (mode silencieu)


merci
Commenter la réponse de gpsa1
cs_Le Pivert 5148 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 24 mai 2018 Dernière intervention - 22 mai 2013 à 18:12
0
Merci
Pour ne pas voir le fichier Excel il faut changer:

objExcel.Visible = True
en
objExcel.Visible = False

C'est tout ce que je peux t'indiquer. Pour le reste je ne sais pas!

@+ Le Pivert
Commenter la réponse de cs_Le Pivert
0
Merci
es ce que il ya un moyen de transmettre les infos directement ver un adresse mail ???
Commenter la réponse de gpsa1
0
Merci
es ce que sa serai possible d'ajouter un scripte vbs pour recevoir directement les donnés récolter par mail a une adresse incorporer dans le scripte et tous sa sans l'ouverture d'une page excel . ??
merci
Commenter la réponse de gpsa1
cs_Le Pivert 5148 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 24 mai 2018 Dernière intervention - 29 mai 2013 à 20:42
0
Merci
Tu devrais ouvrir un nouveau post pour cette demande, car je ne peux pas y répondre.


@+ Le Pivert
Commenter la réponse de cs_Le Pivert

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.