Script VBS : corection??

Script VBS : corection?? - VB/VBA/VBS - Programmation

Marsh Posté le 23-06-2005 à 11:45:03    

Citation :

voila, je dois faire un script en VBS. son role :
 
- detecter la version de windows
- si pas xp sp2 rien
- si xp sp2 alors lance un fichier.reg pour modifier la base de registre de la machine
 
deja est ce faisable??? je n'y connais rien en vbs, et j'ai rien trouvé pour la version de windows...
une idée??
 
please help...  :sweat:  :(


 
Voila le prog final, y a t'il des aberation??
 
'/--------------------------------------------------------\
'Script VBS
'Verifie la presence de Windows XP SP2 puis modifie la BDR
'\--------------------------------------------------------/
Dim OS  
Dim SP2
Set WshShell = CreateObject("Wscript.Shell" )
On Error Resume Next
OS = ""'pour etre sur que la variable est vide
OS =WSHShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName" )
SP2 = ""
SP2 = WSHShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CSDVersion" )
 
If OS = "Microsoft Windows XP" and SP2 ="Service Pack 2" Then
Msgbox "OS ok  -  SP2 ok"
Set WshShell = CreateObject("Wscript.Shell" )
'----------------------------------------------------------
'Permet l'administration à distance de eTrust Antivirus 7
'----------------------------------------------------------
valeur1 = "" 'pour etre sur que la variable est vide
valeur1 = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\RPC\restrictremoteclients" )
Msgbox "lecture ok"
If valeur1 <> "0" Then
Set WshShell = CreateObject("Wscript.Shell" )
WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\RPC\restrictremoteclients", 0, "REG_DWORD" 'clé Dword
End If
'----------------------------------------------------------
'Désactive le centre de sécurité
'----------------------------------------------------------
valeur2 = ""
valeur2 = WshShell.RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wscsvc\Start" )
If valeur2 <> "4" Then  
Set WshShell = CreateObject("Wscript.Shell" )
WshShell.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wscsvc\Start", 4, "REG_DWORD" 'clé Dword
End If
'----------------------------------------------------------
'Supprime les info-bulles de notification d'impression
'----------------------------------------------------------
valeur3 = ""
valeur3 = WshShell.RegRead("HKEY_CURRENT_USER\Printers\Settings\EnableBalloonNotificationsLocal" )
If valeur3 <> "0" Then  
Set WshShell = CreateObject("Wscript.Shell" )
WshShell.RegWrite "HKEY_CURRENT_USER\Printers\Settings\EnableBalloonNotificationsLocal", 0, "REG_DWORD" 'clé Dword
valeur4 = ""
valeur4 = WshShell.RegRead("HKEY_CURRENT_USER\Printers\Settings\EnableBalloonNotificationsRemote" )
If valeur4 <> "0" Then  
Set WshShell = CreateObject("Wscript.Shell" )
WshShell.RegWrite "HKEY_CURRENT_USER\Printers\Settings\EnableBalloonNotificationsRemote", 0, "REG_DWORD" 'clé Dword
End If
End If
'----------------------------------------------------------
'Désactive le partage de connexion et le firewall
'----------------------------------------------------------
valeur5 = ""
valeur5 = WshShell.RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Start" )
If valeur5 <> "4" Then  
Set WshShell = CreateObject("Wscript.Shell" )
WshShell.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Start", 4, "REG_DWORD" 'clé Dword
End If
'----------------------------------------------------------
'Démarrage manuel du service d'aide et support à distance
'----------------------------------------------------------
valeur6 = ""
valeur6 = WshShell.RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\helpsvc\Start" )
If valeur6 <> "2" Then  
Set WshShell = CreateObject("Wscript.Shell" )
WshShell.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\helpsvc\Start", 2, "REG_DWORD" 'clé Dword
End If
'----------------------------------------------------------
'Démarrage manuel du service de mise à jour de Windows
'----------------------------------------------------------
valeur7 = ""
valeur7 = WshShell.RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuauserv\Start" )
If valeur7 <> "3" Then  
Set WshShell = CreateObject("Wscript.Shell" )
WshShell.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuauserv\Start", 3, "REG_DWORD" 'clé Dword
End If
'----------------------------------------------------------
'Désactive les bulles de notifications pour l'antivirus
'----------------------------------------------------------
valeur8 = ""
valeur8 = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security Center\AntiVirusDisableNotify" )
If valeur8 <> "1" Then  
Set WshShell = CreateObject("Wscript.Shell" )
WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security Center\AntiVirusDisableNotify", 1, "REG_DWORD" 'clé Dword
End If
'----------------------------------------------------------
'Désactive les bulles de notifications pour le pare-feu
'----------------------------------------------------------
valeur9 = ""
valeur9 = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security Center\FirewallDisableNotify" )
If valeur9 <> "1" Then  
Set WshShell = CreateObject("Wscript.Shell" )
WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security Center\FirewallDisableNotify", 1, "REG_DWORD" 'clé Dword
End If
'----------------------------------------------------------
'Ignore l'antivirus
'----------------------------------------------------------
valeur10 = ""
valeur10 = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security Center\AntiVirusOverride" )
If valeur10 <> "1" Then  
Set WshShell = CreateObject("Wscript.Shell" )
WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security Center\AntiVirusOverride", 1, "REG_DWORD" 'clé Dword
End If
'----------------------------------------------------------
'Ignore le Pare-feu
'----------------------------------------------------------
valeur11 = ""
valeur11 = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security Center\FirewallOverride" )
If valeur11 <> "1" Then  
Set WshShell = CreateObject("Wscript.Shell" )
WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security Center\FirewallOverride", 1, "REG_DWORD" 'clé Dword
End If
'----------------------------------------------------------
'Désactive l'envoi d'invitations d'assistance et l'autorisation de connexion à distance
'----------------------------------------------------------
valeur12 = ""
valeur12 = WshShell.RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\fAllowToGetHelp" )
If valeur12 <> "0" Then  
Set WshShell = CreateObject("Wscript.Shell" )
WshShell.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\fAllowToGetHelp", 0, "REG_DWORD" 'clé Dword
valeur13 = ""
valeur13 = WshShell.RegRead("HKEY_CURRENT_USER\Printers\Settings\fAllowFullControl" )
If valeur13 <> "0" Then  
Set WshShell = CreateObject("Wscript.Shell" )
WshShell.RegWrite "HKEY_CURRENT_USER\Printers\Settings\fAllowFullControl", 0, "REG_DWORD" 'clé Dword
End If
End If
'----------------------------------------------------------
'Fin de la mise à jour de la base de registre
'----------------------------------------------------------
Else If OS <> "Microsoft Windows XP" Or SP2 <> "Service Pack 2" Then
Msgbox "OS pas ok ou SP2 pas ok"
End If
End If
'---


Message édité par killapig le 27-06-2005 à 15:06:00

---------------
Retraité du Hardware
Reply

Marsh Posté le 23-06-2005 à 11:45:03   

Reply

Marsh Posté le 23-06-2005 à 11:49:02    

:hello:


---------------
Retraité du Hardware
Reply

Marsh Posté le 23-06-2005 à 12:29:25    

hey
 
ça j'ai déjà fait, mais j'ai plus le code sous la main, mais je peux te guider ...
ouvre le registre et fait une recherche pour Microsoft Windows XP
il te donnera plusieurs clef, a toi de prendre les bonnes.
ensuite, cherche comment en VBS, on peut lire une entrée de ragistre et le tour est joué.
et attend un peu plus de 4 min avant de faire un up.

Reply

Marsh Posté le 23-06-2005 à 13:12:07    

lol, bon du coup je vais le faire en .bat, car c'est un peu pressé et pas le tps d'apprendre le vbs


---------------
Retraité du Hardware
Reply

Marsh Posté le 23-06-2005 à 19:35:46    

re
paraisseux
jte laisse le code dans 15 min.

Reply

Marsh Posté le 23-06-2005 à 19:41:50    

j'ai mes clées, c'est pas le probleme, mon probleme c'est le vbs que je connais pas... :D


---------------
Retraité du Hardware
Reply

Marsh Posté le 23-06-2005 à 19:44:09    

hey grand(e) : http://www.vbfrance.com/code.aspx?ID=3261
 
tu a beaucoup cherché (ami google) : vbfrance.com vbs lire clé registre
 
Résultats : http://www.google.fr/search?q=vbfr [...] r:official
(oui oui j'utilise Firefox)
je te filerai qd meme ma soluce. na.


Message édité par knakes le 23-06-2005 à 19:45:15
Reply

Marsh Posté le 23-06-2005 à 19:51:08    

merci!! mais j'avai trouvé ces sites et je me repete mais c'est pas les clés qui m'embete, c'est le reste (detection d ela version de windows, syntaxe...ect)


---------------
Retraité du Hardware
Reply

Marsh Posté le 23-06-2005 à 19:51:57    

Set WshShell = CreateObject("Wscript.Shell" )
 
Msgbox WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName" )
 
Msgbox WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CSDVersion" )
 

Reply

Marsh Posté le 23-06-2005 à 19:57:29    

ah
un peu plus de 15 min. lol
 
tu peux aussi avoir un truc du genre
 
'---
Dim OS as String
Dim SP2 as String
Set WshShell = CreateObject("Wscript.Shell" )
On Error Resume Next
OS = ""
OS =WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName" )
 
SP2 = ""
SP2 = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CSDVersion" )
 
If OS = "Microsoft Windows XP" and SP2 ="Service Pack 2" Then
Msgbox "OS ok  -  SP2 ok"
ElseIf OS <> "Microsoft Windows XP" Or SP2 <> "Service Pack 2"
Msgbox "La plateforme n'est pas WindowsXP ou elle n'est pas équipée su Service Pack 2."
EndIf
'---
 
Voilà voilà.
 
Ca fait du bien de bosser un peu lol.


Message édité par knakes le 23-06-2005 à 19:58:05
Reply

Marsh Posté le 23-06-2005 à 19:57:29   

Reply

Marsh Posté le 23-06-2005 à 20:00:25    

:love: mon hero....


---------------
Retraité du Hardware
Reply

Marsh Posté le 23-06-2005 à 20:05:33    

lol
tant que ca ?

Reply

Marsh Posté le 24-06-2005 à 09:02:10    

avec ton code il me met erreur de compilation... :cry:  
ligne 2 caractere 8 ...
euh la je vois pas... :sweat:

Reply

Marsh Posté le 24-06-2005 à 09:08:33    

au fait c'est bien du VBS???? c'est pas du WSH???

Reply

Marsh Posté le 24-06-2005 à 09:21:30    

c'est corrigé ça fonctionne...
mais dis moi ça sert a koi le OS=""?????
car si je le zap ça change rien..;

Reply

Marsh Posté le 24-06-2005 à 09:58:29    

OS ="" c'est au cas où le ligne du registre était absente ou alors qu'elle ne porte pas le meme nom, ça évite d'avoir n'importe quoi dedans. Ma foi, il est vrai que sans elle, le code ne va pas s'arrêter.

Reply

Marsh Posté le 24-06-2005 à 11:45:04    

c'est bon c'est fini...merci encore!!!!!!

Reply

Marsh Posté le 24-06-2005 à 14:08:20    

mais de rien.

Reply

Marsh Posté le 27-06-2005 à 15:07:34    

des corrections??

Reply

Marsh Posté le 28-06-2005 à 09:44:37    

je crois pas.

Reply

Marsh Posté le 28-06-2005 à 11:24:09    

c'est juste que je trouve le code "lourd"...:)

Reply

Marsh Posté le 28-06-2005 à 12:31:18    

nan je ne crois pas que tu puisse changer grand chose.

Reply

Marsh Posté le 28-06-2005 à 12:41:21    

merci encore

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed