Programy DOS są nadal używane w świecie biznesu. Porady, jak sprawić, aby działały poprawnie na nowoczesnej platformie obliczeniowej, są w sieci szalenie rozpowszechnione. Oto co dla mnie zadziałało.
16-bitowy program DOS-u, z którym musimy pracować, znajduje się na 32-bitowym serwerze Windows 2003, który wkrótce zostanie usunięty. Do tego czasu, udział w programie jest mapowany na dwóch 32-bitowych maszynach klienckich z domeny głównej z zasadami Group Policy. Skrót do pliku .cmd, który uruchamia program, jest umieszczany ręcznie na klientach, również w domenie głównej. Program działa dobrze w systemie Windows 8.1. Trochę to kompromis, ale maszyny zostaną uaktualnione do 64-bitowego Windows 8.1, gdy program DOS, który działa z domeny drugorzędnej, zostanie wycofany z użytku.
Największym wyzwaniem jest drukowanie z programu. W tym programie używane są dwie różne drukarki równoległe, ale program drukuje tylko na jednym porcie i nie ma możliwości zmiany tego zachowania. Potrzebujesz wydrukować czek na drukarkę laserową? Trzeba go podłączyć do portu LPT1. Potrzebujesz wydrukować zrzut danych do drukarki igłowej? Musi być również dołączony do portu LPT1. Codziennie z tym programem pracują dwie osoby, więc będziemy używać ich komputerów, po jednym dla każdej drukarki. Zainstalujmy pierwszą drukarkę:
Jeśli komputer ma fizyczny port DB-25 (równoległy) to można go wyłączyć w BIOS-ie. Windows 8.1 nie będzie go obsługiwał i nie jest nam potrzebny.
Do podłączenia drukarki do komputera używa się adaptera drukarki równoległej Cables-to-Go model 16899 USB do DB25. Adapter instaluje się automatycznie i nie jest rozpoznawany jako urządzenie równoległe lub port LPT.
Teraz otwórz Urządzenia i Drukarki. Kliknij Add printer i wybierz opcję The printer I want is not listed. W następnym oknie dialogowym wybierz opcję Add a local printer or network printer with manual settings (Dodaj drukarkę lokalną lub sieciową z ustawieniami ręcznymi), a w następnym oknie dialogowym Use an existing port (Użyj istniejącego portu). Wybierz z listy port drukarki wirtualnej dla USB, albo USB001 albo USB002, a nie opcje portu LPT.
Pierwsza drukarka to wielomodułowa drukarka igłowa Panasonic KX-P1191. Drukarka ta nie znajduje się na liście w oknie dialogowym, które prosi o sterownik, a aktualizacja listy przez kliknięcie przycisku Windows Update nie pomaga. Sprawdzenie strony pomocy technicznej firmy Panasonic wskazuje na to, że drukarka jest w tym momencie całkowicie nieobsługiwana, ale specjalista ds. pomocy technicznej firmy Panasonic pomógł w znalezieniu drogi, która doprowadziła do stworzenia sterownika Epson FX Series 1(80) dołączonego do systemu Windows 8.1. Działa on doskonale.
Teraz drukarka jest zainstalowana. Jest ona jednak podłączona do portu USB001, a program będzie drukował tylko do portu LPT1. Rozwiązanie jest stosunkowo proste i może być zintegrowane bezpośrednio z plikiem wsadowym, który jest używany do uruchomienia programu. Zacznijmy od starej szkoły i odegrajmy sztuczkę na naszej drukarce: udostępnimy ją i wydrukujemy na porcie LPT1 w ten sposób.
Kliknij prawym przyciskiem myszy na drukarkę i wybierz Właściwości. Udostępnij drukarkę, nie umieszczaj jej w katalogu, utwórz krótką nazwę udostępnienia tylko na dobrą miarę, a następnie upewnij się, że użytkownik maszyny klienckiej jest umieszczony w obszarze Grupa lub nazwa użytkownika w zakładce Bezpieczeństwo.
Dwie osoby, które będą drukować do tych drukarek, tworzą mój czek, więc dałem im uprawnienia administratora domeny. To mogło być niepotrzebne. Obydwie są użytkownikami domeny głównej, ale nie drugorzędnej i nie chciałem poświęcać czasu na rozwiązywanie problemów z uprawnieniami.
Zmodyfikuj teraz plik wsadowy i użyj dobrze udokumentowanego polecenia użycia sieci do wdrożenia rozwiązania do drukowania:
@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>
Gdzie COMPUTER to nazwa komputera, a PRINTER to wspólna nazwa drukarki. Procedura działała równie dobrze na drugim komputerze dla drukarki HP LaserJet 1100 za pomocą sterownika “HP LaserJet 1100 (MS)” dostarczonego z systemem Windows 8.1.
– UWAGI –
Błąd systemu 5:
Upewnij się, że użytkownik jest wymieniony w zakładce bezpieczeństwa. “Każdy” może zostać usunięty. Czy uprawnienia administratora domeny są wymagane dla użytkownika? Prawdopodobnie nie, jeśli wszystko jest uruchamiane z jednej domeny.
Błąd systemu 66:
Sprawdź składnię. Prawdopodobnie błędnie wpisałeś nazwę komputera, drukarki, a może pominąłeś dwukropek? Potrzebny jest tylko jeden dwukropek, według dokumentacji Microsoft. Czy dodanie niepotrzebnego dwukropka do lpt1[:] spowoduje awarię?
Wszystko o użyciu netto https://technet.microsoft.com/en-us/library/bb490717.aspx