Script de connexion WSH

Script de connexion WSH - VB/VBA/VBS - Programmation

Marsh Posté le 17-10-2006 à 09:47:45    

Bonjour,
Suite à un renouvellement de serveur je suis entraéin de me familiariser avec WSH de maniere a mettre en place un script de connexion me permettant de ne pas avori a reconfigurer chaque pc du parc (200?) au niveau, au moins, des imprimantes et mappages reseaux...
 
Je n'ai pas le droit d'installer le script sur notre serveur active directory local, pour des raisons de... securité... Je pensais donc les mettre sur un partage sur le nouveau serveur 2003 (serveur de fichier et serveur d'imprimante tres basique, meme pas de raid ni rien...) et mettre un raccourci dans le menu demarrer/Demarage de chaque pc, qui pointerait vers le script, mais j'aimerais bien le cacher un peu mieux que ca... Auriez vous un fichier .reg a me proposer poru se faire? ou un autre moyen?
 
J'ai trouvé le code pour desinstaller les anciens disques dur réseau par rapport au serveur d'ou ils proviennent, de maniere a reinstaller les nouveau du nouveau serveur. Le probleme c'est que pour l'instant, je n'ai pas encore trouvé le moyen de reinstaller les lecteurs en fonction du groupe de l'utilisateur... L'un d'entre vous saurait il comment je peux faire pour extraire le groupe de l'utilisateur?
 
Voici le code que j'utilise actuellement pour supprimer le partage reseau en fonction du serveur:

Code :
  1. Set WshNetwork = WScript.CreateObject("WScript.Network" )
  2. Set oDrives = WshNetwork.EnumNetworkDrives
  3. For i = 0 to oDrives.Count - 1 Step 2
  4. If odrives.item(i+1)="\\nom_serveur1\nom_partage" Then
  5. WshNetwork.RemoveNetworkDrive oDrives.Item(i), 1, 1
  6. End If
  7. Next


Voici le code que j'utilise pour installer les nouveaux partages:

Code :
  1. WSHNetwork.MapNetworkDrive "V:", "\\nom_serveur2\commun$", -1


 
Mon deuxiemme soucis serait de desinstaller les imprimantes, mais je n'y arrive pas... par contre j'arrive a les installer, et a en mettre une par defaut.  
Voici le code que j'essaie d'utiliser pour desinstaller une imprimante en particulier:

Code :
  1. Set WshNetwork = WScript.CreateObject("WScript.Network" )
  2. Set oPrinters = WshNetwork.EnumPrinterConnections
  3. For i = 0 to oPrinters.Count - 1 Step 2
  4.    WScript.Echo "Port " & oPrinters.Item(i) & " = " & oPrinters.Item(i+1)
  5. If oPrinters.Item(i+1)="\\nom_serveur2\imprimante_x" Then
  6. WScript.Echo "imprimante_x trouvée" 'cette ligne est juste la pour effectuer mes tests, voir si le script trouve l'imprimante
  7. WshNetwork.RemovePrinterConnection oPrinters.Item(i)
  8. End If
  9. Next


Le probleme c'est que ca me renvoie une erreur absurde à la ligne 10, caractere 1:  
Code: 800708CA
Source: WSHNetwork.RemoveNetworkDrive
C'est pourtant WshNetwork.EnumPrinterConnections que j'utilise!!!
 
J'espere avoir ete assez clair!
Merci d'avance pour l'aide que vous pourriez m'apporter :)
@ bientot :)

Reply

Marsh Posté le 17-10-2006 à 09:47:45   

Reply

Marsh Posté le 17-10-2006 à 12:58:07    

J'ai oublié de préciser que j'aurais bien aimer que le script soit a meme de remarquer si c'est la 1ere ouverture de session d'un utilisateur sur un pc pour configurer firefox (@ home, @ du proxy a utiliser et "demander ou telecharger un fichier" ) ainsi que le compte de messagerie (Thunderbird, installer une extension, redemarer, choisir la configuration induite par l'extension puis rentrer le nom de l'utilisateur pour que l'extension fasse le reste). Enfin ca ca serait le top, mais bon c'est plutot secondaire! :), il pourrait aussi etre interessant si c'est trop compliqué a faire d'envoyer un message a un admin lors de l'ouverture d'une premeire session, pour le prevenir de la necessité de configurer firefox et thunderbird sur la machine... :)

Reply

Marsh Posté le 17-10-2006 à 13:32:29    

pourquoi ne pas passer par une gpo avec script d'ouverture de session ?

Reply

Marsh Posté le 17-10-2006 à 13:38:12    

pour remarquer si c la premiere ouverture, t'as qu'a mettre dans ton script une création de clé de registre et une verification de son existence (en orde inverse bien sur)

Reply

Marsh Posté le 17-10-2006 à 14:50:38    

Je ne peux pas faire de gpo car je n'ai pas le droit de toucher a l'active directory, n'etant tech que dans une sucursale si l on peut dire cela ainsi... Les grands manitous de Paris ne veulent meme pas qu'on utilise de script en theorie... Plein le cul de passer nos journees a me deplacer pour faire du mappage et des install d'imprimantes... Sinon tu penses bien que j'aurais fait une GPO...
En ce qui concerne le code pour verifier la presence d'un clé de registre, ca donnerait quoi?
Merci pour ces 1eres reponses :)

Reply

Marsh Posté le 17-10-2006 à 15:18:32    

ca donne a peu près ca :
 

Spoiler :

Function RegExists(value)
On Error Resume Next
Dim WS
Dim val
Set WS = CreateObject("WScript.Shell" )
val = WS.RegRead(value)
If (Err.number = -2147024893) or (Err.number = -2147024894) Then
RegExists = False
Else
RegExists = True
End If
End Function


 
mais va te renseigner sur le net pour la fonction regRead, elle et sa copine regWrite


Message édité par trik le 17-10-2006 à 15:20:31
Reply

Marsh Posté le 17-10-2006 à 17:16:01    

Ok merci trik, je vais jeter un oeuil la dessus ce soir :)

Reply

Marsh Posté le 18-10-2006 à 15:11:55    

Personne n'aurait une idee de comment faire fonctionner les partages par rapport au groupe de l'utilisateur?

Reply

Marsh Posté le 18-10-2006 à 16:19:21    

As-tu un serveur SQL a dispo?

Reply

Marsh Posté le 18-10-2006 à 20:39:03    

Malheureusement non...

Reply

Marsh Posté le 18-10-2006 à 20:39:03   

Reply

Marsh Posté le 31-10-2006 à 11:45:00    

les partages dont tu parles sont ils ceux de tes utilisateurs ou les partages réseaux d'un serveur (lecteur réseau?) ??

Reply

Sujets relatifs:

Leave a Replay

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