Se connecter avec
S'enregistrer | Connectez-vous

Pb de script vbs pour connexion imprimante en local

Dernière réponse : dans Programmation
Partagez

Bonjour à tous! :hello: 

J'espère qu'une personne charitable peut m'éclairer dans mon dilème.....

Voilà,

J'ais crée un script en vbs pour la connection de différents lecteurs et imprimantes réseaux selon l'apartenance à un groupe. Pour ce cas pas de problème, mais là où je bloque c'est que certains postes on leur propre imprimante local et je doit les mettre en défaut.
Donc ce que je faits je met en partage une des imprimantes et dans le scripte j'explique que si le non poste est X par emple je le connecte sur l'imprimante \\X\nom-imprimante, et là IMPOSSIBLE
Alors que si je fait la demande de connexion du poste Y sur l'imprimante \\X\nom-imprimante ca marche!

Voici le bout de code:
  1. Select Case UserGroup.name
  2. Case "service"
  3. 'IMPRIMANTE RESEAU
  4. WshNetwork.AddWindowsPrinterConnection "\\SERVEUR\IMP-1-N&B"
  5. WshNetwork.AddWindowsPrinterConnection "\\SERVEUR\IMP-2-N&B"
  6. WshNetwork.SetDefaultPrinter "\\SERVEUR\IMP-3-N&B"
  7.  
  8. Dim oNetwork, sprintpath, nomposte
  9.  
  10. 'recup nom du poste
  11. Set oNetwork = CreateObject("WScript.Network" )
  12. nomposte = oNetwork.ComputerName
  13. 'CONNEXION IMPRIMANTE LOCAL LES IMPRIMANTES MIS EN PARTAGE
  14. Select case nomposte
  15. case "X01"
  16. sprintpath = "\\X01\impopu"
  17. WshNetwork.AddWindowsPrinterConnection sprintpath
  18. WshNetwork.SetDefaultPrinter "\\X01\impopu"
  19. case "XU02"
  20. 'sprintpath = "\\X02\imp-X02"
  21. 'WshNetwork.AddWindowsPrinterConnection sprintpath
  22. WshNetwork.SetDefaultPrinter "\\imp-X02"
  23. End Select


Je suis débutante, alors merci de votre aide! C'est super urgent!!!

(scouzi, une balise fermante doit contenir un /. Ex: [/code]. C'est tellement évident pour un web-designer qu'on oublie parfois que ça l'est moins pour les autres :)  )
Contenus similaires
Posez votre question

Je ne comprends pas grand' chose à ton bout de code. Tu as enlevé des morceaux ? (Si, oui, tu as le droit ;)  mais mets des ... par exemples )

(Pour info, je ne suis pas un spécialiste de VBS, que d'autres mieux informés ne se gênent pas pour intervenir)

Hello! Le problème est résolut :bounce:  et biensur je remerci les personnes qui m'on aider :jap: 
Le fait que j'ai posté ce dilemme, je me dois donner la solution...

Conclusion: ne pas mettre l'imprimante en partage ou essayer de se connecter par son port car elle est en local donc le poste la reconnais automatiquement par son nom tout simplement

Voici le code avec une amélioration de débogage pour le test biensur:
  1. bDebug = True
  2. Select Case LCase(UserGroup.Name)
  3. Case "population"
  4. If bDebug Then
  5. MsgBox "Case Service"
  6. End If
  7. Dim oNetwork, sNomPoste
  8.  
  9. ' IMPRIMANTE RESEAU
  10. WshNetwork.AddWindowsPrinterConnection "\\SERVEUR\IMP-1-N&B"
  11. WshNetwork.AddWindowsPrinterConnection "\\SERVEUR\IMP-2-N&B"
  12. WshNetwork.SetDefaultPrinter "\\SERVEUR\IMP-3-N&B"
  13.  
  14. If bDebug Then
  15. MsgBox "Case Population : Imprimante Reseau"
  16. End If
  17.  
  18. ' RECUPERATION NOM DU POSTE
  19. Set oNetwork = CreateObject("WScript.Network" )
  20. sNomPoste = oNetwork.ComputerName
  21. If bDebug Then
  22. MsgBox "Case Service : Nom du poste : " & sNomPoste
  23. End If
  24.  
  25. ' METTRE PAR DEFAUT IMPRIMANTE LOCALE
  26. Select Case sNomPoste
  27. Case "X01"
  28. WshNetwork.SetDefaultPrinter "imp-X01"
  29.  
  30. Case "X02"
  31. WshNetwork.SetDefaultPrinter "imp-X02"
  32.  
  33. End Select


Bonne continuation! :bounce: 
Posez votre question