Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1295 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Besoin d'aide en VBS... URGENT

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Besoin d'aide en VBS... URGENT

n°662455
Fahrenheit
Posté le 04-03-2004 à 09:58:10  profilanswer
 

Voilà, si quelqu'un s'y connait, j'ai besoin d'aide, et je dois faire ça avant ce midi si possible
 
Comment écrire ce qui suit en VBS?
 
Si la clé BDR "Flagkey" n'existe pas
  alors flagkey=0
fin si
si flagkey=0
alors si OS=WinXp alors importer AppXP.reg
sinon, si OS=Win9x alors importer App9x.reg
fin si
fin si
écrire "nom_machine mise à jour" dans \\serveur\logmaj.txt
fin si
 
 
Si vous pouvez me dépaner là dessus, c'est super!
Merci

mood
Publicité
Posté le 04-03-2004 à 09:58:10  profilanswer
 

n°662492
vttman2
Je suis Open ...
Posté le 04-03-2004 à 10:27:01  profilanswer
 
n°662498
Fahrenheit
Posté le 04-03-2004 à 10:33:56  profilanswer
 

Merci, mais apparemment, ca ne colle pas tout à fait!

n°662631
kfman
Credo quia absurdum
Posté le 04-03-2004 à 12:00:41  profilanswer
 

Bon essaie ce truc (pas testé) en modifiant où il faut:
 

Citation :

Option Explicit
 
Dim WshShell, WshFS, WshNet, val, flagkey, isXP, is9x
Dim computername, logfile, logfilename
 
Set WshShell = CreateObject("Wscript.Shell" )
Set WshFS = CreateObject("Scripting.FileSystemObject" )
Set WshNet = CreateObject("WScript.Network" )
 
computername = WshNet.computername
logfilename="\\serveur\logmaj.txt"
 
 
On Error Resume Next 'trap d'erreur
 
'Détection de l'os
val = WshShell.RegRead("HKLM/Software/Microsoft/Windows/currentversion/productName" ) '9x
val = WshShell.RegRead("HKLM/Software/Microsoft/Windows NT/currentversion/productName" ) 'xp
 
is9x = (val="Microsoft Windows 95" or val="Microsoft Windows 98" or val="Microsoft Windows ME" )
isXP = (val="Microsoft Windows XP" )
 
val = WshShell.RegRead("<chemin vers la clé>" )
If val="" Then flagkey=0
 
On Error Goto 0 'fin du trap d'erreur
 
If flagkey=0 Then
 If isXP Then WshShell.Run "regedit /s appxp.reg",2,True
 ElseIf is9x Then WshShell.Run "regedit /s app9x.reg",2,True
 
Set logfile = WshFS.opentextfile(logfilename,8) '2: écrase, 8:ajout
LogFile.WriteLine computername&" mise à jour"
logfile.close
Set logfile = nothing
 
End If
 
 
'cleanup
Set WshShell = nothing
Set WshFS = nothing
Set WshNet = nothing


 

n°663452
Fahrenheit
Posté le 04-03-2004 à 20:00:32  profilanswer
 

Ok, merci pour tout!
En fait, je suis en train de bidouiller avec ce que je peux choper à droite à gauche sur le net comme info!
Dès que ça marche, je poste le programme :)

n°663462
kfman
Credo quia absurdum
Posté le 04-03-2004 à 20:06:49  profilanswer
 

Normalement le script fait ton algo...

n°663466
Fahrenheit
Posté le 04-03-2004 à 20:08:38  profilanswer
 

>kfman
 
tu as écrit:
If isXP Then WshShell.Run "regedit /s appxp.reg",2,True  
ElseIf is9x Then WshShell.Run "regedit /s app9x.reg",2,True  
 
A quoi sert le ,2,True ???
 
 

n°663554
kfman
Credo quia absurdum
Posté le 04-03-2004 à 20:56:09  profilanswer
 

2: fenêtre minimisée.
True: attente de fin d'exécution.


Message édité par kfman le 04-03-2004 à 22:38:33
n°665516
Fahrenheit
Posté le 06-03-2004 à 19:39:54  profilanswer
 

VOilà, c'est fini!
J'ai fait quelques modif, mais dans l'e,semble, ton truc était excellent!
 
Dim WshShell, WshFS, WshNet, val, flagkey, isXP, is9x  
Dim computername, logfile, logfilename  
 
Set WshShell = CreateObject("Wscript.Shell" )  
Set WshFS = CreateObject("Scripting.FileSystemObject" )  
Set WshNet = CreateObject("WScript.Network" )  
 
computername = WshNet.computername  
logfilename="\\serveur\PATH\logmaj.txt"  
 
On Error Resume Next
 
val = WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ProductName" )
val = WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName" )
 
is9x = (val="Microsoft Windows 95" or val="Microsoft Windows 98" )  
isXP = (val="Microsoft Windows XP" )  
flagkey = ""
flagkey = WshShell.RegRead("HKLM\SOFTWARE\Maj\Flag" )  
 
On Error Goto 0
 
If flagkey="" Then
   If isXP Then
      WshShell.Run "regedit /s \\serveur\PATH\modifxp.reg",2,True
   Else If is9x Then
           WshShell.Run "regedit /s \\serveur\PATH\modif9x.reg",2,True
   End If
End If
Set logfile = WshFS.opentextfile(logfilename,8)  
logFile.WriteLine computername&": mis à jour le " & Date & " à " & Time
logfile.close  
Set logfile = nothing
 
WshShell.RegWrite "HKLM\SOFTWARE\Maj\Flag", 1
 
End If  
 
Set WshShell = nothing  
Set WshFS = nothing  
Set WshNet = nothing
 
 
Merci!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Besoin d'aide en VBS... URGENT

 

Sujets relatifs
[VBS] Récuperation du nom de l'ordinateur[AIDE] [PHP] Besoin de quelqu'un pr un "formulaire"
[php] besoin d'aide sur l'utilisation des fonctionsUn "truc" cool en builder C++ SVP j'en ai besoin !
SVP de l'aide sur ActionScrip de flash MX : Clip & ScrollingAide un peu particuliére...
Besoin d'aide pour restructuration de site web 
Plus de sujets relatifs à : Besoin d'aide en VBS... URGENT


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR