Les programmes DOS sont toujours utilisés dans le monde des affaires. Les conseils sur la manière de les faire fonctionner correctement sur une plate-forme informatique moderne sont légion sur le web. Voici ce qui a fonctionné pour moi.
Le programme DOS 16 bits avec lequel nous devons travailler se trouve sur un serveur Windows 2003 32 bits qui sera bientôt supprimé. En attendant, un partage du programme est mappé sur deux machines clientes 32 bits du domaine primaire à l'aide de la stratégie de groupe. Un raccourci vers le fichier .cmd qui lance le programme est placé manuellement sur les clients, également sur le domaine primaire. Le programme fonctionne bien sous Windows 8.1. Il s'agit certes d'un compromis, mais les machines seront mises à niveau vers Windows 8.1 64 bits lorsque le programme DOS, qui s'exécute à partir du domaine secondaire, sera mis hors service.
L'impression à partir du programme représente le plus grand défi. Deux imprimantes parallèles différentes sont utilisées avec ce programme, mais le programme n'imprime que sur un seul port et il n'y a pas d'option pour modifier ce comportement. Vous devez imprimer un chèque sur l'imprimante laser ? Elle doit être connectée au port LPT1. Vous devez imprimer un fichier de données sur l'imprimante matricielle ? Elle doit également être connectée au port LPT1. Deux personnes travaillent quotidiennement avec ce programme, nous utiliserons donc leurs ordinateurs, un pour chaque imprimante. Installons la première imprimante :
-
Si l'ordinateur dispose d'un port physique DB-25 (parallèle), vous pouvez le désactiver dans le BIOS. Windows 8.1 ne le prend pas en charge et nous n'en avons pas besoin.
-
Un adaptateur d'imprimante USB vers parallèle DB25, modèle 16899 de Cables-to-Go, est utilisé pour connecter l'imprimante à l'ordinateur. L'adaptateur s'installe automatiquement et n'est pas reconnu comme un périphérique parallèle ou un port LPT.
-
Ouvrez ensuite Périphériques et imprimantes. Cliquez sur Ajouter une imprimante et sélectionnez L'imprimante que je souhaite n'est pas répertoriée. Dans la boîte de dialogue suivante, choisissez Ajouter une imprimante locale ou une imprimante réseau avec des paramètres manuels et, dans la boîte de dialogue suivante, Utiliser un port existant. Sélectionnez un port d'imprimante virtuel pour USB, soit USB001 ou USB002, dans la liste et non les options de port LPT.
-
La première imprimante est une imprimante matricielle multimode Panasonic KX-P1191. L'imprimante n'est pas répertoriée dans la boîte de dialogue qui demande un pilote et la mise à jour de la liste en cliquant sur Windows Update n'apporte aucune aide. Une vérification sur le site d'assistance de Panasonic indique que l'imprimante n'est absolument pas prise en charge à ce stade, mais un spécialiste de l'assistance technique de Panasonic a aidé à trouver la piste qui mène au pilote Epson FX Series 1(80) inclus dans Windows 8.1. Il fonctionne parfaitement.
L'imprimante est maintenant installée. Mais elle est sur le port USB001 et le programme n'imprime que sur le port LPT1. La solution est relativement simple et peut être intégrée directement dans le fichier batch utilisé pour démarrer le programme. Nous allons jouer un tour à notre imprimante : nous allons la partager et imprimer sur le port LPT1 de cette manière.
-
Cliquez avec le bouton droit de la souris sur l'imprimante et choisissez Propriétés. Partagez l'imprimante, ne la répertoriez pas dans le répertoire, créez un nom de partage court pour faire bonne mesure, puis assurez-vous que l'utilisateur de la machine cliente est répertorié dans la zone Groupe ou nom d'utilisateur sous l'onglet Sécurité.
-
Les deux personnes qui imprimeront sur ces imprimantes sont à l'origine de mon salaire, c'est pourquoi je leur ai donné des droits d'administrateur de domaine. Cela n'était peut-être pas nécessaire. Les deux personnes sont des utilisateurs du domaine principal mais pas du domaine secondaire, et je ne voulais pas passer du temps à résoudre le problème des autorisations.
Modifiez maintenant le fichier batch et utilisez la commande net use bien documentée pour mettre en œuvre la solution d'impression :
@echo off
::delete the printer
net use lpt1 /delete
::add the printer
net use lpt1 \\\COMPUTER\PRINTER /persistent:yes
::fire up the nasty ol' DOS program
<existing syntax used to start the program>
Où ORDINATEUR est le nom de l'ordinateur et IMPRIMANTE est le nom de partage de l'imprimante. La procédure a également fonctionné sur un deuxième ordinateur pour l'imprimante HP LaserJet 1100 en utilisant le pilote "HP LaserJet 1100 (MS)" fourni avec Windows 8.1.
-- NOTES --
Erreur du système 5 :
Assurez-vous que l'utilisateur est répertorié dans l'onglet Sécurité. "Tout le monde" peut être peut être supprimé. L'utilisateur doit-il disposer de privilèges d'administrateur de domaine ? Probablement probablement pas, si tout fonctionne à partir d'un seul domaine.
Erreur de système 66 :
Vérifiez votre syntaxe. Vous avez probablement mal orthographié le nom de l'ordinateur, de l'imprimante, ou peut-être avez-vous oublié les deux points ? Un seul deux-points est nécessaire, par la documentation de Microsoft. L'ajout d'un deux-points inutile à lpt1[ :] entraînera-t-il un échec ?
Tout sur l'utilisation du réseau : https://technet.microsoft.com/en-us/library/bb490717.aspx