Windows - TCP/IP nyomtatóportok kezelése parancssorból

Heterogén hálózatok központosított nyomtatási feladatainak megoldásához sokszor nem csak a legjobb, de az egyetlen megoldás a TCP/IP nyomtatóportok használata. A Windows is teljeskörű támogatást nyújt a megvalósításához. A grafikus felület által biztosított lehetőségeket egy korábbi cikkünkben bemutattuk, most azt nézzük, hogy használható a parancssori változat.
Az alábbi feladatok elvégzéséhez rendszergazdai jogosultság szükséges.
Mik azok a TCP/IP nyomtatóportok?
A TCP/IP nyomtatóporton keresztül való nyomtatás lényege, hogy platformfüggetlenséget teremtsen a hálózatban. Tekintve, hogy a TCP/IP protokollt gyakorlatilag minden operációs rendszer ismeri, kézenfekvő megoldás, hogy nyomtatásra is lehessen használni. A megvalósításhoz szükség van egy számítógépre és egy hozzákapcsolt nyomtatóra, továbbá a számítógép operációs rendszerében egy TCP/IP nyomtatóportra - amit a hálózatról el lehet érni. Másik lehetőség TCP/IP-t ismerő nyomtató vásárlása, ebben az esetben nincs szükség számítógépre. Mi most nézzük az első variációt. Alapértelmezésben a Windows a hálózatos nyomtatást nem így oldja meg. Ahhoz, hogy lehessen egyáltalán TCP/IP portot telepíteni szükség lesz némi előkészületekre:
Az első feladatunk, hogy telepítsük az alábbi komponenst. Szükség lesz a Windows XP telepítőlemezére, helyezzük a CD meghajtóba és tallózzunk el az operációs rendszerben a következő helyre:
Vezérlőpult > Programok telepítése/törlése > Windows összetevők hozzáadása vagy eltávolítása > Egyéb hálózati fájl- és nyomtatószolgáltatások > Részletek (Control Panel > Add/Remove Programs > Add/Remove Windows Components > Other Network File and Print Services > Details)
Aktivizáljuk a "Unix alapú nyomtatószolgáltatások" ("Print Services for Unix") jelölőnégyzetet, majd az "OK" és "Tovább" ("Next") gombokra kattintva zárjuk be az ablakokat.
A Windows XP %systemroot%\system32 mappájában találunk egy PRNPORT.VBS nevű Visual Basic szkriptet. Feladata a TCP/IP nyomtatóportok kezelése. Használatához el kell indítani egy parancssori ablakot, ahol menjünk el a szkriptet tartalmazó mappába. A futtatást minden esetben a CSCRIPT környezettel kell végrehajtani.
TCP/IP nyomtatóportok listázása
Ha már vannak telepített portok, akkor a helyi gépen az alábbi sor beírásával lehet kilistázni őket:
cscript prnport.vbs -l
Ugyanezt a hálózat egy másik gépén is végrehajthatjuk, csak meg kell adni a gép nevét vagy IP címét:
cscript prnport.vbs -l -s gépnév
Távoli listázásnál megkötés van, hogy a másik gépen is fusson a Windows Management Instrumentation (WMI) szolgáltatás. Ebből következik, hogy egy Linux - Unix rendszert futtató gépről ily módon nem lehet információt kérni. A szkriptnek a másik gép elérése előtt be kell jelentkeznie, teszi ezt az aktuális felhasználó nevével és jelszavával. Gond akkor van, ha ez nem érvényes a távoli gépen. Erre az eshetőségre is van megoldás: a -u kapcsoló után egy érvényes felhasználói nevet, a -w után pedig a hozzá tartozó jelszót adhatjuk át.
cscript prnport.vbs -l -s gépnév -u név -w jelszó
A gépnév, felhasználói név és jelszó átadás az alábbi parancsok mindegyikénél ugyanígy használható.
Egy konkrét port adatainak megjelenítése a -g kapcsolóval és a -r után a port nevének megadásával történik.
cscript prnport.vbs -g -r HP 
Új port létrehozása
Nézzük mi az a minimális információ, amit egy új port létrehozásánál meg kell adni. Elől a kapcsoló neve, utána a magyarázat található.
  • -a = Add, jelzi a szkriptnek, hogy egy új port hozzáadásáról van szó.
  • -r = Port neve. Lehet bármi, ami utal a hozzákapcsolt nyomtatóra.
  • -h = Port IP címe.
  • -o = lpr vagy raw. A TCP/IP-n belüli nyomtatásra használt protokoll típusa. A raw (=nyers) nyomtatás ma már kevésbé használatos, inkább régebbi Unix gépeken található meg. Ha ezt az opciót választjuk a -n kapcsoló után megadható a raw port száma (pl.: -n 9001). Ha nem adjuk meg, akkor az alapértelmezett 9100-ast használja.
Fentiek alapján nézzünk egy konkrét hozzáadási parancsot:
cscript prnport.vbs -a -r HP -h 192.168.0.6 -o lpr
További rendelkezésre álló kapcsolók:
A raw nyomtatáshoz kapcsolódva előírható nyomtatási sor használata a -q név szintaxissal:
cscript prnport.vbs -a -r HP -h 192.168.0.6 -o raw -q spool1
SNMP felügyeleti szolgáltatás engedélyezése a forgalom ellenőrzése végett:
cscript prnport.vbs -a -r HP -h 192.168.0.6 -o lpr -me
SNMP tiltása:
cscript prnport.vbs -a -r HP -h 192.168.0.6 -o lpr -md
Engedélyezett SNMP mellett megadható az index neve:
cscript prnport.vbs -a -r HP -h 192.168.0.6 -o lpr -me -i index1
Továbbá a logikai csoport neve is:
cscript prnport.vbs -a -r HP -h 192.168.0.6 -o lpr -me -i index1 -y csoport1
LPR nyomtatásnál létezik a kétszeri sorba állítás fogalma. Lényege, hogy a nyomtató nem kapja meg a szükséges információkat a géptől, mert az a várólistában (spooler) van. Ennek hiányában nem tudja megkezdeni a feladat végrehajtását. Ha egy hálózaton ezzel a jelenséggel találkozunk, akkor be kell kapcsolni a kétszeri sorba állítást az alábbi módon:
cscript prnport.vbs -a -r HP -h 192.168.0.6 -o lpr -2e
Kikapcsolása így történik:
cscript prnport.vbs -a -r HP -h 192.168.0.6 -o lpr -2d
Port törlése
Törlés során a -d kapcsoló (d=delete) és név megadására van szükség. Például:
cscript prnport.vbs -d -r HP
Újra konfigurálás
Meglévő port konfigurálása ugyanúgy zajlik, mint a hozzáadás, csak a -a kapcsoló helyett a -t szerepeljen.