Ich habe vor kurzem einen Netzwerkdrucker installiert und die
dazugehörige Software richtet für diesen Drucker einen eigenen Anschluss
ein. Funktioniert bis jetzt problemlos.
Nun habe ich da aber ein Pseudo-DOS-Programm (32-Bit Programm, aber
DOS-Oberfläche), das nur auf Standardanschlüsse (LPTx, FILE etc.) drucken
kann, umgeht also das Windows-Drucksystem. Ich möchte daher einen
LPT-Port auf meinen Netzwerkdrucker-Port umleiten, habe aber bisher nicht
herausfinden können, ob und wie das geht (Win9x).
Bei den Druckereinstellungen kann ich nur auf einen anderen Rechner oder
eine Warteschlange umleiten. Mit MODE gehts auch nicht. Hat jemand eine
Lösung?
Stefan
>Nun habe ich da aber ein Pseudo-DOS-Programm (32-Bit Programm, aber
>DOS-Oberfläche), das nur auf Standardanschlüsse (LPTx, FILE etc.) drucken
>kann, umgeht also das Windows-Drucksystem. Ich möchte daher einen
>LPT-Port auf meinen Netzwerkdrucker-Port umleiten, habe aber bisher nicht
>herausfinden können, ob und wie das geht (Win9x).
Eigenschaften/Details/Druckeranschluss hinzufügen... (z.B. LPT1)
--
Lorenz (at) Borsche (de) http://www.borsche.de
---------------------------------------------------
If you want to split hairs, don't use a blunt knife.
> Eigenschaften/Details/Druckeranschluss hinzufügen... (z.B. LPT1)
So habe ich das nicht gemeint. Die Druckersoftware erstellt mir ja
bereits einen eigenen Anschluss (MEINDRUCKER:), über den dann (übers
Netzwerk) gedruckt wird. Von Windows-Programmen aus kein Problem. Mein
Pseudo-DOS-Prog kann aber nur auf Standardanschlüsse (LPT1: etc.)
drucken. Deshalb will ich LPT1: auf MEINDRUCKER: umleiten und _nicht_ auf
einen anderen Standardanschluss oder einen anderen Computer.
Stefan
Du machst dies hier und dann klappt das:
net use lpt2: \\druckserver\freigabename
Achte darauf, dass der Freigabename auf dem Printserver keine Leerzeichen
enthält!
Anschließend liegt der Drucker unter DOS an LPT2 an und kann wie folgt
angesprochen werden:
Entweder
print /d:lpt2 c:\pfad\druckdatei.txt
oder
copy c:\pfad\druckdatei.txt lpt2
--
Michael Döring, 53840 Troisdorf
Tel 02241 9781-97 -- Fax -96 -- eMail in...@RPV.de -- ICQ 12860386
> Du machst dies hier und dann klappt das:
> net use lpt2: \\druckserver\freigabename
> Achte darauf, dass der Freigabename auf dem Printserver keine
Leerzeichen
> enthält!
Der Drucker wird _direkt_ angesprochen (hat eigene Netzwerkkarte drin).
Die Methode die du beschreibst, ist mir bestens bekannt. Wenn es einen
Printserver geben würde, hätte ich es eh schon so gemacht.
> Anschließend liegt der Drucker unter DOS an LPT2 an und kann wie folgt
> angesprochen werden:
> Entweder
> print /d:lpt2 c:\pfad\druckdatei.txt
> oder
> copy c:\pfad\druckdatei.txt lpt2
Kenn ich auch. Aber nützt mir hier nicht viel, weil ich direkt aus
dem Programm heraus drucken muss.
Wenn der Drucker eine eigene Netzwerkkarte drin hat ist das nur ein Ersatz
für einen externen Printer-Access-Port und muss dennoch im Netz über
irgendeinen Rechner "gespoolt" werden denn allein über seine IP-Adresse ist
ein Drucker niemals ansprechbar. Das wird auch Deine seltsame Anwendung
nicht hinbekommen.
Und dieser "Spooler"-Rechner verbindet sich mit dieser Netwerkkarte über
einen lokalen Anschluss der als IP-Port definiert ist.
Ohne diese Voraussetzungen sehe ich schwarz für Deine Anwendung.
Und aus eigener Erfahrung würde ich für den Spooler nur NT-Server
einsetzen...
Gruß
> Wenn der Drucker eine eigene Netzwerkkarte drin hat ist das nur ein
Ersatz
> für einen externen Printer-Access-Port und muss dennoch im Netz über
> irgendeinen Rechner "gespoolt" werden denn allein über seine IP-Adresse
ist
> ein Drucker niemals ansprechbar. Das wird auch Deine seltsame Anwendung
> nicht hinbekommen.
> Und dieser "Spooler"-Rechner verbindet sich mit dieser Netwerkkarte
über
> einen lokalen Anschluss der als IP-Port definiert ist.
> Ohne diese Voraussetzungen sehe ich schwarz für Deine Anwendung.
> Und aus eigener Erfahrung würde ich für den Spooler nur NT-Server
> einsetzen...
Ich verwende keinen eigenen Printserver weil das Netzwerk nicht besonders
groß ist. Der Drucker wird deshalb auf jedem Rechner als Lokaler Drucker
eingerichtet. Jeder Rechner spoolt also selbst seine Ausdrucke. Meine
"seltame" Anwendung soll ja nur in dem Glauben bleiben, auf einen lokalen
LPT1 zu drucken (geht nicht anders), während in Wirklichkeit der
Netzwerkdrucker werkelt.
Stefan
Hi Stefan!
> Meine
>"seltame" Anwendung soll ja nur in dem Glauben bleiben, auf einen lokalen
>LPT1 zu drucken (geht nicht anders), während in Wirklichkeit der
>Netzwerkdrucker werkelt.
Das versucht man Dir doch die ganze Zeit schmackhaft zu machen.
Drucker ->Dein Drucker -> Eigenschaften -> Details -> Druckeranschluß
zuweisen... LPT1: netzwerkbezeichnung des druckers
Alles was jetzt an LPT1 geschickt wird geht nun ins Netz.
CU,
/\rno_____/
>> Eigenschaften/Details/Druckeranschluss hinzufügen... (z.B. LPT1)
>
>So habe ich das nicht gemeint. Die Druckersoftware
Äh, wer ist die Druckersoftware? Du meinst den Treiber????
>erstellt mir ja
>bereits einen eigenen Anschluss (MEINDRUCKER:), über den dann (übers
>Netzwerk) gedruckt wird.
Hm. Also bei mir heisst ein Drucker z.B. "HP LaserJet 6L PCL"
Meinst Du sowas?
>Von Windows-Programmen aus kein Problem.
Richtig.
>Mein
>Pseudo-DOS-Prog kann aber nur auf Standardanschlüsse (LPT1: etc.)
>drucken.
Das ist normal.
>Deshalb will ich LPT1: auf MEINDRUCKER: umleiten und _nicht_ auf
>einen anderen Standardanschluss oder einen anderen Computer.
Habe ich verstanden. Mein DOS-Prog kann auch nur auf LPTx oder COMx
schreiben. Damit mein HP6L aber mit LPT1 angesprochen werden kann,
rufe ich unter 'Drucker' mit der rechten Maustaste die Eigenschaften
auf, weiter wie oben. Mein DOS-Prog druckt dann ganz brav auf LPT1 und
das landet auf dem HP Laser. Das geht selbstredend auch, wenn der
eigentliche drucker an einem anderen Client hängt. Er wird dann übers
Netzwerk freigegeben, und auf jedem Rechner, der ihn ansprechen soll
'gemapped' wie oben beschrieben.
3 Dinge dazu:
- ein lokaler Drucker läßt sich nicht remappen, d.h., wenn er an LPT1
hängt (physikalisch) kann er von diesem Client aus niemals als LPT2
angesprochen werden
- wenn man z.B. LPT1 auf einen anderen Port mapped, ist der physische
LPT1-Port nicht mehr ansprechbar.
- In einem Netzwerk, in dem z.B. 3 Printer als LPT1, 2 und 3
angesprochen werden sollen, ist es sinnvoll, alle Rechner mit 3
physischen LPT-Ports auszurüsten, da Windows, wenn die
Netzwerkverbindung fehlt, gerne auf die lokalen Ports zugreift,
ansonsten macht es ziemliche Mucken - das ist jedenfalls unsere
Erfahrung mit über 80 Windows-Netzwerken zwischen 2 und 10 Plätzen.
Frage also an Dich:
Kann der Drucker als Windows-Netzwerkdrucker freigegeben werden? Wenn
ja, dann kannst Du auch einen LPT1-Port darauf mappen, und ihn so
ansprechen.
>Vorausgesetzt das "DOS"-Proggy geht über die bekannten
>Softwareschnittstellen. Wenn das DOS-Proggy den LPT-Port selbst auf
>Hardwareebene anspricht, versagt die Umleitung.
Du meinst, wenn 2BC direkt anspricht? Da schweigt des Sängers
Höflichkeit :-)
Und Du hast recht, dann geht nix mehr. Naja, vielleicht kann man noch
den Interrupt 'verbiegen', wer weiß.
Achso, jetzt habe ich das wohl schon kapiert denke ich :-)
Also dann würde ich es so machen. Angenommen der Rechner auf dem die
DOS-Anwendung läuft hat die IP-Adresse 192.168.0.1
Gib auf diesem Rechner den Drucker im Netz frei als "printer".
Dann machst Du in einer DOS-BOX dies hier:
net use lpt1: \\192.168.0.1\printer
Nun sollte an lpt1: der Drucker anliegen.
Damit hast Du den eigenen Rechner als Printserver eingestellt.
Probier das mal und sag' mir nochmal Bescheid bitte.
Hallo Wolfgang!
>Vorausgesetzt das "DOS"-Proggy geht über die bekannten
>Softwareschnittstellen. Wenn das DOS-Proggy den LPT-Port selbst auf
>Hardwareebene anspricht, versagt die Umleitung. Solche mistigen
>Proggies habe ich auch schon erlebt. Und dann schnellstens entsorgt.
Jepp, korrekt.
Es war von einem 32Bit DosProgie die Rede. Schätze mal, es handelt
sich um ein WinApplikation ohne GUI.
Aber nur der Versuch macht klug.
CU,
/\rno_____/
> Du meinst, wenn 2BC direkt anspricht? Da schweigt des Sängers
> Höflichkeit :-)
>
> Und Du hast recht, dann geht nix mehr. Naja, vielleicht kann man noch
> den Interrupt 'verbiegen', wer weiß.
Das Programm hat vorher auch schon übers Netzwerk gedruckt. Der Drucker
war da an einem anderen Client angeschlossen, was problemlos funktioniert
hat.
> Achso, jetzt habe ich das wohl schon kapiert denke ich :-)
> Also dann würde ich es so machen. Angenommen der Rechner auf dem die
> DOS-Anwendung läuft hat die IP-Adresse 192.168.0.1
> Gib auf diesem Rechner den Drucker im Netz frei als "printer".
> Dann machst Du in einer DOS-BOX dies hier:
> net use lpt1: \\192.168.0.1\printer
> Nun sollte an lpt1: der Drucker anliegen.
> Damit hast Du den eigenen Rechner als Printserver eingestellt.
> Probier das mal und sag' mir nochmal Bescheid bitte.
Werkelt! Danke!
Hab das vorher immer nur mit dem Computernamen probiert, Windows hat aber
gemeckert, dass das auf dem eigenen Computer nicht geht. Bin nie auf die
Idee gekommen, es mal mit der IP-Adresse zu probieren - Argument: Warum
sollte es mit der IP-Adresse gehen, wenns mit dem Hostnamen auch schon
nicht geht? ... Ich wurde eines besseren belehrt. Ist meiner Meinung nach
wegen der Freigabe sicher nicht die eleganteste Lösung (vielleicht findet
jemand irgendwann eine bessere), aber Hauptsache es funktioniert. Vielen
Dank nochmal.
Stefan
Das Argument ist deshalb falsch weil Du für eine Namensauflösung immer ein
Hilfsmittel brauchst. Das kann ein DNS-, ein WINS-Server oder die Datei
c:\windowsordner\system32\drivers\etc\hosts sein.
Von daher hätte es bei einem korrekten Eintrag in der HOSTS schon klappen
müssen. Aber ist ja jetzt für den Moment Wurscht, es funktioniert ja wie Du
geschrieben hast.
Das freut mich sehr :-)
Nachsatz zu der Namensauflösung: Ein guter Tipp ist immer der PING.
Wenn in der DOS-Box der PING COMPUTERNAME schon ins Leere läuft, stimmt was
nicht.
Wenn aber PING IPADRESSE klappt, liegt es eindeutig an der Namensauflösung
die mit Hilfe der Datei HOSTS auf einfachste Art und Weise hergestellt
werden kann.
>Das Programm hat vorher auch schon übers Netzwerk gedruckt. Der Drucker
>war da an einem anderen Client angeschlossen, was problemlos funktioniert
>hat.
>
Naja, inzwischen wissen wir ja warum. Soso, der Clientname konnte
nicht aufgelöst werden. So was war mir bislang neu. Man lernt nie aus
und Windows hat immer noch Überraschungen bereit. Äh, ja,
hatte der Comp vielleicht Leerzeichen im Namen? Dann geht nämlich
netuse unter DOS nicht :-)
Zwar hat Windows diverse Überraschungen, dies ist aber absolut keine.
Natürlich muss ich Windows beibringen, welche IP es verwenden soll wenn ich
auf "muckel" zugreifen will. Denn wer ein wenig von Netzwerk versteht,
weiss, dass Namen nur Schall und Rauch sind. Die Adressen zählen!
Das ist alles andere als überraschend und auch nur logisch. Hat mit Windows
nichts zu tun.
[Interessantes über Namensauflösung]
Einer der Rechner ist eine Win95-Dose (alle anderen 98) und da hat die
besagte Methode zu Beginn nicht funktioniert. Hab dann WinSock 2.0
draufgespielt und die Netzwerkkomponenten neu installiert. Jetzt werkelts
bei _allen_ Rechnern. Heissa.
Perfektionieren könnte man das eigentlich nur, wenn man noch verhindern
könnte, dass die Meldung "1 Benutzer ist bzw. sind mit ihrem Computer
verbunden. [...]" beim Herunterfahren erscheint, obwohl das nur die
Druckerverbindung ist. Vielleicht kann man die Druckerverbindung vor dem
Herunterfahren schon trennen. Ob und wie das geht, weiß ich nicht. Ist ja
nur eine Idee.
Stefan
>> und Windows hat immer noch Überraschungen bereit. Äh, ja,
>
>Zwar hat Windows diverse Überraschungen, dies ist aber absolut keine.
Für mich war es eine.
>Natürlich muss ich Windows beibringen, welche IP es verwenden soll wenn ich
>auf "muckel" zugreifen will.
Wie bitte? ich habe noch nie irgendwo eine IP-Adresse bei einem LAN
eingegeben. Und es ist ja sicher egal, daß meine LANs immer nur aus 2
Rechnern bestehen, oder?
>Das ist alles andere als überraschend und auch nur logisch. Hat mit Windows
>nichts zu tun.
Vielleicht aber doch: Wenn Windows normnalerweise auch ohne IP-Adresse
funzt, weil es eben die Namensauflösung nutzt (so interpretiere ich
mal Deine Worte), die halt manchmal nicht funktioniert, dann wäre das
doch eine eingebaute Überraschung - insbesondere für Leute wie mich,
die diese blöden IP-Masken immer ganz schnell übersprungen haben ;-)
Hallo Lorenz!
>Wie bitte? ich habe noch nie irgendwo eine IP-Adresse bei einem LAN
>eingegeben. Und es ist ja sicher egal, daß meine LANs immer nur aus 2
>Rechnern bestehen, oder?
Jo.
>>Das ist alles andere als überraschend und auch nur logisch. Hat mit Windows
>>nichts zu tun.
>
>Vielleicht aber doch: Wenn Windows normnalerweise auch ohne IP-Adresse
>funzt, weil es eben die Namensauflösung nutzt (so interpretiere ich
>mal Deine Worte), die halt manchmal nicht funktioniert, dann wäre das
>doch eine eingebaute Überraschung - insbesondere für Leute wie mich,
>die diese blöden IP-Masken immer ganz schnell übersprungen haben ;-)
Welche Protokolle fährst Du denn? Weil NetBEUI läuft nur über Namen.
Deshalb brauchst Du keine IP-Adresse angeben.
Oder Du ein Datei HOST oder war's LMHOST, ich kann mir dat nicht
merken, eingerichtet. Dann funktioniert auch die Namensauflösung.
CU,
/\rno_____/
>Welche Protokolle fährst Du denn? Weil NetBEUI läuft nur über Namen.
Ach sooo. Klar, intern brauche ich kein TCP/IP...
>Deshalb brauchst Du keine IP-Adresse angeben.
Jetzt klar, danke.
>Oder Du ein Datei HOST oder war's LMHOST, ich kann mir dat nicht
>merken, eingerichtet. Dann funktioniert auch die Namensauflösung.
Oder auch manchmal nicht??? Egal, und danke für den Hinweis.