Imprimante virtuelle indirecte pour élèves
Résolu/Fermé
lenainjaune
Messages postés
674
Date d'inscription
mercredi 7 mai 2008
Statut
Contributeur
Dernière intervention
28 octobre 2024
-
5 juil. 2010 à 13:44
lenainjaune Messages postés 674 Date d'inscription mercredi 7 mai 2008 Statut Contributeur Dernière intervention 28 octobre 2024 - 9 janv. 2012 à 21:58
lenainjaune Messages postés 674 Date d'inscription mercredi 7 mai 2008 Statut Contributeur Dernière intervention 28 octobre 2024 - 9 janv. 2012 à 21:58
A voir également:
- Imprimante virtuelle indirecte pour élèves
- Machine virtuelle windows - Guide
- Carte de voeux virtuelle animée et musicale gratuite - Guide
- Machine virtuelle gratuite - Télécharger - Émulation & Virtualisation
- Spouleur imprimante - Guide
- Pilote pour imprimante hp - Télécharger - Pilotes & Matériel
4 réponses
lenainjaune
Messages postés
674
Date d'inscription
mercredi 7 mai 2008
Statut
Contributeur
Dernière intervention
28 octobre 2024
52
7 juil. 2010 à 13:26
7 juil. 2010 à 13:26
Personne n'a d'idée ?
lenainjaune
Messages postés
674
Date d'inscription
mercredi 7 mai 2008
Statut
Contributeur
Dernière intervention
28 octobre 2024
52
10 juil. 2010 à 04:12
10 juil. 2010 à 04:12
Hello,
Bon ... le projet chemine ... (et pas grand monde pour m'aider ...)
En analysant les sources de PDFCreator ( https://www.pdfforge.org/pdfcreator/download ), j'ai constaté que la redirection était effectuée par le programme redmon ( http://pages.cs.wisc.edu/~ghost/redmon/ ). J'ai donc installé redmon ( https://www.softpedia.com/get/System/System-Miscellaneous/RedMon.shtml#download ), créé une nouvelle imprimante sur un port redirigé (avec le driver Apple Color LaserWriter 12/600), fait un bête script batch qui attend 2 arguments (voir dessous), dans les propriétés du port depuis le champ "Redirect this port ..." j'ai justement redirigé vers le script batch en fournissant les 2 arguments "%REDMON_USER%" et "%REDMON_DOCNAME%" (respectivement le nom d'utilisateur et le nom du fichier à imprimer)
Script batch :
NB : le script ne peut rien afficher en tant que tel => redirection vers fichier
Et ça marche très bien ... sauf que je n'ai pas trouvé le moyen de transmettre le chemin du fichier à imprimer ; REDMON_DOCNAME fournit juste le nom du fichier.
Si quelqu'un a l'expérience de redmon pour m'aider à avancer ... ce serait bien cool !
cordialement
lnj
Bon ... le projet chemine ... (et pas grand monde pour m'aider ...)
En analysant les sources de PDFCreator ( https://www.pdfforge.org/pdfcreator/download ), j'ai constaté que la redirection était effectuée par le programme redmon ( http://pages.cs.wisc.edu/~ghost/redmon/ ). J'ai donc installé redmon ( https://www.softpedia.com/get/System/System-Miscellaneous/RedMon.shtml#download ), créé une nouvelle imprimante sur un port redirigé (avec le driver Apple Color LaserWriter 12/600), fait un bête script batch qui attend 2 arguments (voir dessous), dans les propriétés du port depuis le champ "Redirect this port ..." j'ai justement redirigé vers le script batch en fournissant les 2 arguments "%REDMON_USER%" et "%REDMON_DOCNAME%" (respectivement le nom d'utilisateur et le nom du fichier à imprimer)
Script batch :
echo %~1_[%~2] > c:\test_ok.txt
NB : le script ne peut rien afficher en tant que tel => redirection vers fichier
Et ça marche très bien ... sauf que je n'ai pas trouvé le moyen de transmettre le chemin du fichier à imprimer ; REDMON_DOCNAME fournit juste le nom du fichier.
Si quelqu'un a l'expérience de redmon pour m'aider à avancer ... ce serait bien cool !
cordialement
lnj
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 706
10 juil. 2010 à 09:36
10 juil. 2010 à 09:36
Bonjour,
Ton projet est très séduisant et je ne doute pas que tu vas arriver à le réaliser mais il est très spécifique et c'est pour cela que nous ne pouvons que te soutenir moralement.
Ton projet est très séduisant et je ne doute pas que tu vas arriver à le réaliser mais il est très spécifique et c'est pour cela que nous ne pouvons que te soutenir moralement.
lenainjaune
Messages postés
674
Date d'inscription
mercredi 7 mai 2008
Statut
Contributeur
Dernière intervention
28 octobre 2024
52
10 juil. 2010 à 12:32
10 juil. 2010 à 12:32
Ton projet est très séduisant et je ne doute pas que tu vas arriver à le réaliser
Merci pour le soutien ... même s'il n'est que moral ...
Du coup j'ai une idée qui me tarabuste depuis cette nuit : modifier les sources de PDFCreator (à la rigueur juste ajouter une variable d'environnement qui donne le chemin du fichier à imprimer), recompiler ... et faire ma propre version (unofficial of course!!!).
Mais bon je ne sais pas trop dans quelle voie je m'engage, je sais avec ma maigre expérience que compiler un projet ne marche jamais vraiment comme sur des roulettes (il manque toujours le truc qui fait tout fonctionner, ou le paramétrage adéquat).
Bref que du bonheur en perspective ....
lenainjaune
Messages postés
674
Date d'inscription
mercredi 7 mai 2008
Statut
Contributeur
Dernière intervention
28 octobre 2024
52
Modifié par lenainjaune le 9/01/2012 à 19:19
Modifié par lenainjaune le 9/01/2012 à 19:19
'lu
Je repassais par là par hasard ... ça faisait longtemps ...
Comme gbinforme l'avait signalé (10 juil. 2010 à 09:36), j'ai finalement réussi !
Mais j'ai complètement revu la technique et j'ai laissé tomber PDFCreator et redmon !
Et comme les connaissances ne servent que si elles sont partagées, je propose de laisser le résultat de mon travail. De plus, je vais pouvoir clore le topic !
-------------------------------------------------------------------------------
- SOMMAIRE -
LA PROBLÉMATIQUE
COMMENT CA MARCHE ?
-= Mise en garde =-
-= Conditions =-
-= Fournitures =-
-= Explications =-
-= Pourquoi restreindre l'accès avec un lecteur réseau ? =-
-= Avantages =-
-= Inconvénients =-
CODES
INSTALLATION
UTILISATION
CONCLUSION
-------------------------------------------------------------------------------
LA PROBLÉMATIQUE
Je suis ex-TICE, et je voulais créer une imprimante virtuelle, pour que les élèves puissent imprimer ... mais pas directement !
Je m'explique. Pour des raisons évidentes, les imprimantes de l'établissement sont inaccessibles aux élèves : gaspillage, qui imprime quoi, contenus contrôlés avant impression définitive, etc. Aussi seuls les formateurs peuvent imprimer. L'élève vient voir le formateur et lui dis : "Tu peux m'imprimer le document xxx qui se trouve dans le dossier yyy ...". Sauf que bien souvent xxx et yyy sont très approximatifs, voire erronés ; les élèves ne se souviennent plus comment ils ont nommé le document et où ils l'ont enregistré, quand ils ne se trompent pas de lecteur (un lecteur réseau leur est individuellement attribué) ou qu'ils enregistrent par mégarde sur leur clef USB ... Bref ! Perte de temps, énervements inutiles de leur part et de la mienne ("Ben si je suis sûr de l'avoir enregistré là ..." "Et moi je te dis que non !"), etc.
Mon idée:
Une imprimante virtuelle du style pdfcreator, qui se contenterait de copier le document à imprimer et de le coller dans un partage réseau quelconque, ce document serait renommé pour indiquer l'élève qui a initié cette impression, le nom du document, un ordre d'impression, date-heure, la salle depuis laquelle l'impression a été initiée, etc. Ainsi le formateur ne poserait pas de question méta-physique pour retrouver ce satané document, et l'élève pourrait poursuivre son travail (... et tout serait pour le mieux dans le meilleur des mondes ...)
En outre, cette imprimante gérerait les doublons inutiles dans le partage (l'élève qui s'acharne ne doit pas saturer le partage). J'ajouterais que le formateur pourrait faire une dernière vérification, et forcer l'impression en Noir par exemple ...
-------------------------------------------------------------------------------
COMMENT ÇA MARCHE ?
En gros, on utilise un script VBS pour créer un raccourci du document à imprimer. Ce raccourci est créé dans un dossier partagé, et le responsable des impressions n'a plus qu'à imprimer depuis ce dossier.
En gros, l'utilisateur fait clic-droit sur le document à imprimer, il sélectionne "Envoyer pour imprimer", ce qui exécute un script VBS pour créer un raccourci du document à imprimer. Ce raccourci est créé dans un dossier partagé, et le responsable des impressions n'a plus qu'à imprimer depuis ce dossier.
-= Mise en garde =-
Cette technique a répondu avec succès à mes besoins. Je ne garantis pas qu'elle réponde à vos besoins. Ceci étant, si votre besoin est différent, vous pouvez toujours modifier le script et/ou les autres documents.
En tout cas, il n'y a aucune garantie que ça fonctionne pour vous, vous voilà prévenu !
-= Conditions =-
Cette technique a été mis en oeuvre avec succès dans les environnements suivants :
- serveur de fichier : Windows 2003 Server
- clients : Windows XP Pro
-= Fournitures (voir plus bas leurs contenus) =-
- sendDoc.vbs : moteur imprimante
- config.xml : configuration du script (à placer dans le dossier de sendDoc.vbs)
- deploy.reg : déploiement sur postes clients
-= Explications =-
Depuis le poste serveur Windows 2003 server :
- sendDoc.vbs crée un raccourci vers le document à imprimer (la copie ne pourra se faire que si le document est accédé depuis un lecteur réseau).Ce script devra être accessible pour tout le monde et en lecture seule. Ce script sera lié au fichier de configuration config.xml (lecture seule et accessible à tous), qui donnera le chemin du dossier caché a_imprimer.
- Un dossier caché a_imprimer (lecture/écriture et accessible à tous), où seront stockés les raccourcis des documents à imprimer. Un raccourci est nommé comme ceci : nom de l'utilisateur qui a demandé l'impression suivi du nom du document ciblé.
- Les dossiers utilisateurs. On devra impérativement utiliser des lecteurs réseaux depuis les postes clients, pour accéder à ces dossiers.
Remarque : le dossier caché a_imprimer est accessible en lecture, donc un utilisateur futé peut lire son contenu, mais ça s'arrête là, vu qu'il n'a pas les droits de lecture sur le document créé par un autre utilisateur !
Depuis un poste client sous domaine Active Directory :
- Un nouvel élément dans le menu contextuel, relatif à tous les documents : -= Envoyer pour imprimer =- ; cet élément appelle le script sendDoc.vbs
- Au moins un lecteur réseau, pour accéder aux documents utilisateurs (obligatoire)
-= Pourquoi restreindre l'accès avec un lecteur réseau ? =-
Pour contraindre l'utilisateur à ne pas enregistrer sur le bureau par exemple. Fonctionnant en profils itinérants standards, si un utilisateur enregistre dans son profil, cet enregistrement sera dupliqué sur chaque poste visité, et cela va rapidement poser des problèmes en terme de stockage, mais aussi de débit réseau. Je sais qu'il existe des techniques pour rediriger le bureau, mais j'ai choisi de ne pas le faire. Si vous le souhaitez vous pouvez enlever cette restriction.
-= Avantages =-
- simple à mettre en place et léger,
- accessible par tous les utilisateurs du poste client,
- documents à imprimer centralisés et indiquent le nom de celui qui a demandé l'impression,
- pas de copie inutile de documents sur le réseau,
- pas de contrainte sur les mises à jour du document (on est synchronisé),
- possibilité de modifier le document par double-clic,
- pas de suppression accidentelle potentielle d'un document (seulement de son raccourci),
- le plus important à mon avis : on se fiche éperdument du nom donné au document, ou de son emplacement réel, puisqu'on y accède par un raccourci !
-= Inconvénients =-
- pas de multi-envoi possible, mais seulement un document à la fois,
- pas de multi-impression possible avec des raccourcis (en tout cas je n'ai pas trouvé de solution) ; si on tente de multi-sélectionner plusieurs documents, seul le premier document sera imprimé, les autres seront ignorés !
-------------------------------------------------------------------------------
CODES
Copier/coller les contenus des documents ci-dessous, en les nommant correctement et en les adaptant au besoin !
deploy.reg (remplacer <nom_serveur> par le nom du serveur et <dossier_partage> par le nom du dossier partagé)
Remarque : comme c'est la partie commune à tous les clients, et qu'elle n'est pas centralisée, il convient de choisir ju-di-cieu-se-ment le libellé, sinon il faudra refaire le déploiement. Changer au besoin le nom de la clé du registre (dans mon cas : -= Envoyer pour imprimer =-)
----
sendDoc.vbs
----
config.xml (remplacer <nom_serveur> par le nom du serveur)
-------------------------------------------------------------------------------
INSTALLATION
Installation côté serveur :
- créer le dossier partagé (Lecture seule, accessible à tout le monde, créer un partage caché avec $ final)
- créer le dossier a_imprimer (Lecture/Ecriture, accessible à tout le monde, créer un partage caché avec $ final)
- copier sendDoc.vbs et config.xml dans dossier partagé
Installation côté client :
- fusionner deploy.reg (double-clic, puis Oui)
-------------------------------------------------------------------------------
UTILISATION
Utilisation côté client :
- Sélectionner le document à imprimer depuis un lecteur réseau
- Faire clic-droit, puis -= Envoyer pour imprimer =-.
NB : si l'utilisateur ne sélectionne pas son document depuis un lecteur réseau, un message l'informe de la restriction. Si tout se passe bien, un message lui signale que le document a bien été envoyé.
Utilisation côté serveur :
- Dans le dossier a_imprimer, sélectionner le raccourci constitué du nom de l'utilisateur qui a demandé l'impression, suivie du nom qu'il a donné au document
- S'il fait double-clic, il ouvre le document ciblé par la raccourci et peut l'imprimer ou le modifier
-------------------------------------------------------------------------------
CONCLUSION
Je ne fais pas de FAQ ou de section bugs connus, pour la bonne et simple raison, que je n'ai plus de poste en production sous la main (j'ai changé d'emploi, je ne suis plus TICE). Si vous avez des questions, j'essayerai tout de même d'y répondre du mieux que je peux.
J'en profite également pour remercier toutes les personnes qui n'hésitent pas à consacrer du temps pour aider les autres et pour partager leurs connaissances. Je cite certaines personnes parmi tant d'autres, avec des liens en commentaire dans le script sendDoc.vbs, que j'ai mis un certain temps à mettre au point.
Problème résolu, donc !
Cordialement
lnj
Je repassais par là par hasard ... ça faisait longtemps ...
Comme gbinforme l'avait signalé (10 juil. 2010 à 09:36), j'ai finalement réussi !
Mais j'ai complètement revu la technique et j'ai laissé tomber PDFCreator et redmon !
Et comme les connaissances ne servent que si elles sont partagées, je propose de laisser le résultat de mon travail. De plus, je vais pouvoir clore le topic !
-------------------------------------------------------------------------------
- SOMMAIRE -
LA PROBLÉMATIQUE
COMMENT CA MARCHE ?
-= Mise en garde =-
-= Conditions =-
-= Fournitures =-
-= Explications =-
-= Pourquoi restreindre l'accès avec un lecteur réseau ? =-
-= Avantages =-
-= Inconvénients =-
CODES
INSTALLATION
UTILISATION
CONCLUSION
-------------------------------------------------------------------------------
LA PROBLÉMATIQUE
Je suis ex-TICE, et je voulais créer une imprimante virtuelle, pour que les élèves puissent imprimer ... mais pas directement !
Je m'explique. Pour des raisons évidentes, les imprimantes de l'établissement sont inaccessibles aux élèves : gaspillage, qui imprime quoi, contenus contrôlés avant impression définitive, etc. Aussi seuls les formateurs peuvent imprimer. L'élève vient voir le formateur et lui dis : "Tu peux m'imprimer le document xxx qui se trouve dans le dossier yyy ...". Sauf que bien souvent xxx et yyy sont très approximatifs, voire erronés ; les élèves ne se souviennent plus comment ils ont nommé le document et où ils l'ont enregistré, quand ils ne se trompent pas de lecteur (un lecteur réseau leur est individuellement attribué) ou qu'ils enregistrent par mégarde sur leur clef USB ... Bref ! Perte de temps, énervements inutiles de leur part et de la mienne ("Ben si je suis sûr de l'avoir enregistré là ..." "Et moi je te dis que non !"), etc.
Mon idée:
Une imprimante virtuelle du style pdfcreator, qui se contenterait de copier le document à imprimer et de le coller dans un partage réseau quelconque, ce document serait renommé pour indiquer l'élève qui a initié cette impression, le nom du document, un ordre d'impression, date-heure, la salle depuis laquelle l'impression a été initiée, etc. Ainsi le formateur ne poserait pas de question méta-physique pour retrouver ce satané document, et l'élève pourrait poursuivre son travail (... et tout serait pour le mieux dans le meilleur des mondes ...)
En outre, cette imprimante gérerait les doublons inutiles dans le partage (l'élève qui s'acharne ne doit pas saturer le partage). J'ajouterais que le formateur pourrait faire une dernière vérification, et forcer l'impression en Noir par exemple ...
-------------------------------------------------------------------------------
COMMENT ÇA MARCHE ?
En gros, on utilise un script VBS pour créer un raccourci du document à imprimer. Ce raccourci est créé dans un dossier partagé, et le responsable des impressions n'a plus qu'à imprimer depuis ce dossier.
En gros, l'utilisateur fait clic-droit sur le document à imprimer, il sélectionne "Envoyer pour imprimer", ce qui exécute un script VBS pour créer un raccourci du document à imprimer. Ce raccourci est créé dans un dossier partagé, et le responsable des impressions n'a plus qu'à imprimer depuis ce dossier.
-= Mise en garde =-
Cette technique a répondu avec succès à mes besoins. Je ne garantis pas qu'elle réponde à vos besoins. Ceci étant, si votre besoin est différent, vous pouvez toujours modifier le script et/ou les autres documents.
En tout cas, il n'y a aucune garantie que ça fonctionne pour vous, vous voilà prévenu !
-= Conditions =-
Cette technique a été mis en oeuvre avec succès dans les environnements suivants :
- serveur de fichier : Windows 2003 Server
- clients : Windows XP Pro
-= Fournitures (voir plus bas leurs contenus) =-
- sendDoc.vbs : moteur imprimante
- config.xml : configuration du script (à placer dans le dossier de sendDoc.vbs)
- deploy.reg : déploiement sur postes clients
-= Explications =-
Depuis le poste serveur Windows 2003 server :
- sendDoc.vbs crée un raccourci vers le document à imprimer (la copie ne pourra se faire que si le document est accédé depuis un lecteur réseau).Ce script devra être accessible pour tout le monde et en lecture seule. Ce script sera lié au fichier de configuration config.xml (lecture seule et accessible à tous), qui donnera le chemin du dossier caché a_imprimer.
- Un dossier caché a_imprimer (lecture/écriture et accessible à tous), où seront stockés les raccourcis des documents à imprimer. Un raccourci est nommé comme ceci : nom de l'utilisateur qui a demandé l'impression suivi du nom du document ciblé.
- Les dossiers utilisateurs. On devra impérativement utiliser des lecteurs réseaux depuis les postes clients, pour accéder à ces dossiers.
Remarque : le dossier caché a_imprimer est accessible en lecture, donc un utilisateur futé peut lire son contenu, mais ça s'arrête là, vu qu'il n'a pas les droits de lecture sur le document créé par un autre utilisateur !
Depuis un poste client sous domaine Active Directory :
- Un nouvel élément dans le menu contextuel, relatif à tous les documents : -= Envoyer pour imprimer =- ; cet élément appelle le script sendDoc.vbs
- Au moins un lecteur réseau, pour accéder aux documents utilisateurs (obligatoire)
-= Pourquoi restreindre l'accès avec un lecteur réseau ? =-
Pour contraindre l'utilisateur à ne pas enregistrer sur le bureau par exemple. Fonctionnant en profils itinérants standards, si un utilisateur enregistre dans son profil, cet enregistrement sera dupliqué sur chaque poste visité, et cela va rapidement poser des problèmes en terme de stockage, mais aussi de débit réseau. Je sais qu'il existe des techniques pour rediriger le bureau, mais j'ai choisi de ne pas le faire. Si vous le souhaitez vous pouvez enlever cette restriction.
-= Avantages =-
- simple à mettre en place et léger,
- accessible par tous les utilisateurs du poste client,
- documents à imprimer centralisés et indiquent le nom de celui qui a demandé l'impression,
- pas de copie inutile de documents sur le réseau,
- pas de contrainte sur les mises à jour du document (on est synchronisé),
- possibilité de modifier le document par double-clic,
- pas de suppression accidentelle potentielle d'un document (seulement de son raccourci),
- le plus important à mon avis : on se fiche éperdument du nom donné au document, ou de son emplacement réel, puisqu'on y accède par un raccourci !
-= Inconvénients =-
- pas de multi-envoi possible, mais seulement un document à la fois,
- pas de multi-impression possible avec des raccourcis (en tout cas je n'ai pas trouvé de solution) ; si on tente de multi-sélectionner plusieurs documents, seul le premier document sera imprimé, les autres seront ignorés !
-------------------------------------------------------------------------------
CODES
Copier/coller les contenus des documents ci-dessous, en les nommant correctement et en les adaptant au besoin !
deploy.reg (remplacer <nom_serveur> par le nom du serveur et <dossier_partage> par le nom du dossier partagé)
Windows Registry Editor Version 5.00 ; a executer sur tous les postes clients au deploiement [HKEY_CLASSES_ROOT\*\shell\-= Envoyer pour imprimer =-\Command] @="wscript \"\\\\<nom_serveur>\\<dossier_partage>$\\sendDoc.vbs\" \"%1\""
Remarque : comme c'est la partie commune à tous les clients, et qu'elle n'est pas centralisée, il convient de choisir ju-di-cieu-se-ment le libellé, sinon il faudra refaire le déploiement. Changer au besoin le nom de la clé du registre (dans mon cas : -= Envoyer pour imprimer =-)
----
sendDoc.vbs
' sendDoc v 1.2 ' script pour permettre aux eleves d'envoyer un document au formateur ' LNJ 21:11 06/09/2011 Dim fichier, cheminFichier, nomFichier, user, lecteursReseaux, cheminCible Dim cheminUNCUtilisateur Dim fso, lnk, shell, colDiskDrives, shellProcessEnv, xmlConfig Const FloppyDisc = 1, FixedDrive = 2, NetworkDrive = 3 Set shell = WScript.CreateObject("WScript.Shell") Set fso = WScript.CreateObject("Scripting.FileSystemObject") ' Le script necessite un unique parametre ' NB : vu qu'on ne peut selectionner n fichiers, le script sera lance n fois, donc ne pas indiquer d'erreur ! If WScript.Arguments.Count <> 1 Then WScript.Quit() End If fichier = WScript.Arguments(0) ' On lit la configuration depuis le dossier du script ' https://baptiste-wicht.developpez.com/tutoriels/microsoft/vbscript/xml/xpath/ Set xmlConfig = CreateObject("Microsoft.XMLDOM") xmlConfig.Async = False xmlConfig.Load(fso.GetParentFolderName(WScript.ScriptFullName) & "/config.xml") cheminCible = xmlConfig.selectSingleNode("/data/configuration/chemin_cible").text Set xmlConfig = Nothing ' On separe le chemin, du nom cheminFichier = Mid(fichier, 1, InStrRev(fichier, "\")) nomFichier = Right(fichier, Len(fichier) - InStrRev(fichier, "\")) ' On recupere le nom de l'utilisateur ' https://vb.developpez.com/faq/vbs Set shellProcessEnv = shell.Environment("Process") user = shellProcessEnv("USERNAME") Set shellProcessEnv = Nothing ' On verifie si la source est enregistree depuis un lecteur reseau et on recupere le chemin UNC ' https://forum.hardware.fr/hfr/Programmation/VB-VBA-VBS/lister-lecteurs-reseaux-sujet_121798_1.htm Set colDiskDrives = fso.Drives lecteursReseaux = "" For Each objDiskDrive in colDiskDrives If objDiskDrive.DriveType = NetworkDrive then lecteursReseaux = lecteursReseaux & objDiskDrive.DriveLetter ' On recupere le chemin UNC du lecteur reseau de l'utilisateur If objDiskDrive.DriveLetter = Left(fichier, 1) Then cheminUNCUtilisateur = objDiskDrive.ShareName & _ Right(fichier, Len(fichier) - 2) End If End if Next Set colDiskDrives = Nothing If InStr(lecteursReseaux, Left(fichier, 1)) = 0 Then Msgbox "Pour envoyer ce document, vous devez d'abord enregistrer le document sur " & _ "votre lecteur réseau personnel ou de classe !", vbExclamation, "Attention !" WScript.Quit() End If ' Creation du raccourci avec le nom du user ' https://www.developpez.net/forums/d388921/autres-langages/general-visual-basic-6-vbscript/vbscript/creation-d-raccourci-vbs/ Set lnk = shell.CreateShortcut(cheminCible & user & "_" & nomfichier & ".lnk") lnk.TargetPath = cheminUNCUtilisateur lnk.Save Set lnk = Nothing MsgBox "Le document " & chr(34) & nomFichier & chr(34) & " a été envoyé avec succès !", vbInformation, "Succès !" Set fso = Nothing Set shell = Nothing WScript.Quit()
----
config.xml (remplacer <nom_serveur> par le nom du serveur)
<?xml version="1.0" encoding="ISO-8859-1"?> <data> <configuration> <chemin_cible> \\<nom_serveur>\a_imprimer$\ </chemin_cible> </configuration> </data>
-------------------------------------------------------------------------------
INSTALLATION
Installation côté serveur :
- créer le dossier partagé (Lecture seule, accessible à tout le monde, créer un partage caché avec $ final)
- créer le dossier a_imprimer (Lecture/Ecriture, accessible à tout le monde, créer un partage caché avec $ final)
- copier sendDoc.vbs et config.xml dans dossier partagé
Installation côté client :
- fusionner deploy.reg (double-clic, puis Oui)
-------------------------------------------------------------------------------
UTILISATION
Utilisation côté client :
- Sélectionner le document à imprimer depuis un lecteur réseau
- Faire clic-droit, puis -= Envoyer pour imprimer =-.
NB : si l'utilisateur ne sélectionne pas son document depuis un lecteur réseau, un message l'informe de la restriction. Si tout se passe bien, un message lui signale que le document a bien été envoyé.
Utilisation côté serveur :
- Dans le dossier a_imprimer, sélectionner le raccourci constitué du nom de l'utilisateur qui a demandé l'impression, suivie du nom qu'il a donné au document
- S'il fait double-clic, il ouvre le document ciblé par la raccourci et peut l'imprimer ou le modifier
-------------------------------------------------------------------------------
CONCLUSION
Je ne fais pas de FAQ ou de section bugs connus, pour la bonne et simple raison, que je n'ai plus de poste en production sous la main (j'ai changé d'emploi, je ne suis plus TICE). Si vous avez des questions, j'essayerai tout de même d'y répondre du mieux que je peux.
J'en profite également pour remercier toutes les personnes qui n'hésitent pas à consacrer du temps pour aider les autres et pour partager leurs connaissances. Je cite certaines personnes parmi tant d'autres, avec des liens en commentaire dans le script sendDoc.vbs, que j'ai mis un certain temps à mettre au point.
Problème résolu, donc !
Cordialement
lnj
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 706
9 janv. 2012 à 21:38
9 janv. 2012 à 21:38
bonjour,
ça faisait longtemps ...
Effectivement ... mais c'est très intéressant d'avoir ta réalisation très détaillée qui peux aussi servir pour d'autres fonctionnalités réseaux.
Comme tu l'as constaté, avec un peu d'opiniâtreté, l'on parvient à résoudre les problèmes techniques mais il faut parfois, comme tu l'as fait, utiliser d'autres fonctionnalités que celles que l'on envisageait initialement.
Merci du retour et bonne année 2012 dans tes nouvelles fonctions.
ça faisait longtemps ...
Effectivement ... mais c'est très intéressant d'avoir ta réalisation très détaillée qui peux aussi servir pour d'autres fonctionnalités réseaux.
Comme tu l'as constaté, avec un peu d'opiniâtreté, l'on parvient à résoudre les problèmes techniques mais il faut parfois, comme tu l'as fait, utiliser d'autres fonctionnalités que celles que l'on envisageait initialement.
Merci du retour et bonne année 2012 dans tes nouvelles fonctions.
lenainjaune
Messages postés
674
Date d'inscription
mercredi 7 mai 2008
Statut
Contributeur
Dernière intervention
28 octobre 2024
52
9 janv. 2012 à 21:58
9 janv. 2012 à 21:58
Salut gbinforme et bonne année 2012 à toi aussi ...