Bonjour à tous.
J'ai un petit soucis de script et si certains d'entre vous pouvaient m'aider ça me simplifierait bien les choses.
Exposé du problème : Comme on a un soucis au niveau d'un serveur d'impression, je vais passer par un autre serveur pour les impressions de certaines machines.
Jusque là pas de soucis.
Le problème c'est au niveau de mon script d'ajout d'imprimante, qui doit s'ouvrir à l'ouverture de la session de la centaine d'employés de la boîte.
J'ai ajouté des lignes pour enlever certaines imprimantes du serveur précédent et tout fonctionne correctement sauf si l'imprimante a déjà été retirée (auquel cas il me dit, à raison, que la connexion réseau n'existe pas).
Il faudrait donc que j'ajoute un test d'existence, mais je ne sais pas faire ça (je ne m'y connais pas trop en VBS) et ne trouve pas la solution.
Voici le script en question :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
Set WshNetwork = WScript.CreateObject("WScript.Network")
PrinterPath = "\\citrixtwo\*******"
WshNetwork.RemovePrinterConnection PrinterPath, true, true
PrinterPath = "\\srv****\******"
WshNetwork.RemovePrinterConnection PrinterPath, true, true
PrinterPath = "\\citrixtwo\******"
WshNetwork.RemovePrinterConnection PrinterPath, true, true
Dim net
Set net = CreateObject("WScript.Network")
net.AddWindowsPrinterConnection "\\datafr3\*****"
net.AddWindowsPrinterConnection "\\datafr3\******"
net.AddWindowsPrinterConnection "\\citrixtwo\*****"
net.AddWindowsPrinterConnection "\\citrixtwo\*****"
net.AddWindowsPrinterConnection "\\srv****\*****"
net.AddWindowsPrinterConnection "\\citrixtwo\*****"
net.AddWindowsPrinterConnection "\\datafr3\******"
net.AddWindowsPrinterConnection "\\srv*****\******"
net.AddWindowsPrinterConnection "\\sr****\******" |
Le soucis donc pour être plus clair, c'est que le script fonctionnera lorsqu'un utilisateur ouvrira sa session pour la première fois, mais qu'à partir de la seconde ouverture ça mettra un message d'erreur. Moi, je dois laisser la suppression une ou deux semaines (le temps que ce soit effectif partout, et des employés peuvent être en vacances, ...) et ça va poser problème si le message d'erreur est présent à chaque ouverture de session pendant plusieurs jours (mon téléphone ne va pas arrêter de sonner pour me demander ce qu'il se passe).
Ca ne doit pas être bien méchant à régler, il suffit de rajouter une ligne de test (if imprimante existe then) dans les :
1 2
| PrinterPath = "\\serveur\imprimante"
WshNetwork.RemovePrinterConnection PrinterPath, true, true |
pour vérifier si l'imprimante est encore là avant de la supprimer, mais mes faibles connaissances de ce langage ne me permettent pas de le faire présentement (je sais lister les imprimantes "connectées" mais pas l'utiliser).
Merci d'avance
Partager