Odpowiedzi:
Aby inni mogli to znaleźć, oto dokładne polecenie (z cmd.exe
), które uruchamiam, aby programowo dodać drukarkę sieciową pod Windows 7 (wydaje się to być dość rzadkie, nawet po długim googlingu):
cscript c:\Windows\System32\Printing_Admin_Scripts\en-US\prnport.vbs ^
-a -r IP_10.0.0.100 -h 10.0.0.100
rundll32 printui.dll,PrintUIEntry /if /b "printer" /f %windir%\inf\prnhp002.inf^
/r "IP_10.0.0.100" /m "HP LaserJet 4200/4300 PCL6" /Z
(jeśli nie wiedziałeś, tak jak ja, ^
to znak kontynuacji linii w cmd.exe). Prawdopodobnie będziesz musiał użyć innego pliku inf niż wymieniony powyżej. Przeglądam wszystkie pliki, C:\Windows\inf
szukając dokładnego tekstu sterownika drukarki (HP LaserJet 4200/4300 PCL6 "), aby znaleźć ten, którego potrzebuję.
Inną przydatną sztuczką jest uruchomienie jednowierszowego programu PowerShell, aby wyczyścić wszystkie stare drukarki, które mogą istnieć (jeśli nie jest to oczywiste, spowoduje to usunięcie wszystkich zainstalowanych obecnie drukarek):
powershell -command "foreach ($p in Get-WmiObject Win32_Printer) {$p.Delete()}"
masz na myśli:
NET USE [local port to bind to ie LPT1] \\ComputerName\printer_share /PERSISTENT:YES
Uwaga:
NET USE LPT1: \\127.0.0.1:9100
Ta strona sugeruje, że nie jest to możliwe, chyba że port TCP / IP już istnieje:
Uwaga Następująca przykładowa składnia działa poprawnie, dopóki tworzone są standardowe porty TCP / IP:
rundll32 printui.dll,PrintUIEntry /if /b "Test Printer" /f %windir%\inf\ntprint.inf /r "IP_157.57.50.98" /m "HP Laserjet 4000 Series PCL" /Z
Jeśli nie podasz poprawnie nazwy drukarki lub określisz drukarkę, która nie jest podłączona do serwera, standardowe porty TCP / IP nie zostaną utworzone i może zostać wyświetlony następujący komunikat o błędzie ...
Wątek jest Necro'd, ale oto jak mogę wykonać instalacje drukarki:
To jest skrypt, którego używam do instalowania kopiarek i drukarek, gdy przeprowadzamy ponowną instalację systemu Windows.
::Creating a Printer Port
cd c:\windows\system32\printing_admin_scripts\en-us\
Cscript Prnport.vbs -a -r 000.000.000.000 -h 000.000.000.000
::Install Printer Driver
rundll32 printui.dll,PrintUIEntry /ia /m "EXACT NAME OF DRIVER AS WRITTEN IN .inf FILE" /f "\\server\file\.inf"
::Create Printer in System
rundll32 printui.dll,PrintUIEntry /if /b "PRINTER NAME GOES HERE" /f "\\server\file.inf" /r "000.000.000.000" /m "EXACT NAME OF DRIVER AS WRITTEN IN .inf FILE"
Pamiętaj, aby zmienić 000 000 000 000 na adres IP drukarki. \ server \ file \ .inf to lokalizacja pliku inf dla twojego sterownika.
Dzięki temu nie będziesz mieć nic, a zainstalowaną funkcjonalną drukarkę.