none
Adding network printers RRS feed

  • General discussion

  • I am stumped here. I have a .bat file that I run in my company that helps some of our employees add network printers. I am continuing to get the error code 87 each time I run it. Thus, it is not working. I am running this ona  windows 10 machine. However, if I run this on a windows 7 machine it runs just fine. Can someone help me figure this one out?

    CLS
    @ECHO off

    :StoreNo
    cls
    echo.
    echo Enter Store Number
    set /p store= :
    set oct3=notSet
    If /I "%store%"=="130" set oct3=144
    If /I "%store%"=="206" set oct3=150
    If /I "%store%"=="215" set oct3=145
    If /I "%store%"=="217" set oct3=151
    If /I "%store%"=="230" set oct3=146
    If /I "%store%"=="233" set oct3=152
    If /I "%store%"=="239" set oct3=147
    If /I "%store%"=="249" set oct3=148
    If /I "%store%"=="252" set oct3=149
    If /I "%store%"=="424" set oct3=1
    If /I "%store%"=="425" set oct3=2
    If /I "%store%"=="428" set oct3=65
    If /I "%store%"=="433" set oct3=93
    If /I "%store%"=="436" set oct3=67
    If /I "%store%"=="437" set oct3=68
    If /I "%store%"=="438" set oct3=19
    If /I "%store%"=="458" set oct3=108
    If /I "%store%"=="468" set oct3=72
    If /I "%store%"=="471" set oct3=107
    If /I "%store%"=="475" set oct3=110
    If /I "%store%"=="601" set oct3=98
    If /I "%store%"=="602" set oct3=135
    If /I "%store%"=="603" set oct3=52
    If /I "%store%"=="604" set oct3=9
    If /I "%store%"=="605" set oct3=10
    If /I "%store%"=="606" set oct3=11
    If /I "%store%"=="607" set oct3=133
    If /I "%store%"=="608" set oct3=8
    If /I "%store%"=="609" set oct3=14
    If /I "%store%"=="610" set oct3=15
    If /I "%store%"=="611" set oct3=95
    If /I "%store%"=="612" set oct3=16
    If /I "%store%"=="614" set oct3=99
    If /I "%store%"=="615" set oct3=18
    If /I "%store%"=="616" set oct3=129
    If /I "%store%"=="617" set oct3=114
    If /I "%store%"=="618" set oct3=21
    If /I "%store%"=="619" set oct3=140
    If /I "%store%"=="620" set oct3=41
    If /I "%store%"=="622" set oct3=23
    If /I "%store%"=="626" set oct3=24
    If /I "%store%"=="629" set oct3=141
    If /I "%store%"=="630" set oct3=97
    If /I "%store%"=="631" set oct3=62
    If /I "%store%"=="632" set oct3=20
    If /I "%store%"=="634" set oct3=27
    If /I "%store%"=="640" set oct3=103
    If /I "%store%"=="641" set oct3=66
    If /I "%store%"=="642" set oct3=28
    If /I "%store%"=="644" set oct3=105
    If /I "%store%"=="645" set oct3=13
    If /I "%store%"=="646" set oct3=6
    If /I "%store%"=="647" set oct3=115
    If /I "%store%"=="650" set oct3=128
    If /I "%store%"=="651" set oct3=102
    If /I "%store%"=="653" set oct3=96
    If /I "%store%"=="654" set oct3=127
    If /I "%store%"=="655" set oct3=92
    If /I "%store%"=="656" set oct3=36
    If /I "%store%"=="657" set oct3=17
    If /I "%store%"=="661" set oct3=5
    If /I "%store%"=="662" set oct3=39
    If /I "%store%"=="663" set oct3=40
    If /I "%store%"=="664" set oct3=80
    If /I "%store%"=="667" set oct3=101
    If /I "%store%"=="669" set oct3=33
    If /I "%store%"=="670" set oct3=106
    If /I "%store%"=="672" set oct3=111
    If /I "%store%"=="673" set oct3=119
    If /I "%store%"=="674" set oct3=42
    If /I "%store%"=="676" set oct3=124
    If /I "%store%"=="677" set oct3=89
    If /I "%store%"=="678" set oct3=44
    If /I "%store%"=="679" set oct3=43
    If /I "%store%"=="680" set oct3=46
    If /I "%store%"=="681" set oct3=122
    If /I "%store%"=="682" set oct3=125
    If /I "%store%"=="685" set oct3=109
    If /I "%store%"=="687" set oct3=120
    If /I "%store%"=="688" set oct3=88
    If /I "%store%"=="694" set oct3=117
    If /I "%store%"=="699" set oct3=126
    If /I "%store%"=="701" set oct3=153
    If /I "%store%"=="703" set oct3=169
    If /I "%store%"=="705" set oct3=154
    If /I "%store%"=="706" set oct3=159
    If /I "%store%"=="710" set oct3=165
    If /I "%store%"=="712" set oct3=163
    If /I "%store%"=="713" set oct3=170
    If /I "%store%"=="714" set oct3=166
    If /I "%store%"=="715" set oct3=155
    If /I "%store%"=="716" set oct3=161
    If /I "%store%"=="717" set oct3=168
    If /I "%store%"=="724" set oct3=164
    If /I "%store%"=="726" set oct3=156
    If /I "%store%"=="727" set oct3=172
    If /I "%store%"=="735" set oct3=157
    If /I "%store%"=="738" set oct3=173
    If /I "%store%"=="743" set oct3=162
    If /I "%store%"=="747" set oct3=167
    If /I "%store%"=="759" set oct3=158
    If /I "%store%"=="773" set oct3=160
    If /I "%store%"=="774" set oct3=171
    If /I "%store%"=="800" set oct3=31
    If /I "%store%"=="816" set oct3=94
    If /I "%store%"=="820" set oct3=12
    If /I "%store%"=="821" set oct3=25
    If /I "%store%"=="823" set oct3=54
    If /I "%store%"=="827" set oct3=61
    If /I "%store%"=="839" set oct3=112
    If /I "%store%"=="840" set oct3=55
    If /I "%store%"=="848" set oct3=57
    If /I "%store%"=="849" set oct3=58
    If /I "%store%"=="852" set oct3=82
    If /I "%store%"=="859" set oct3=81
    If /I "%store%"=="860" set oct3=100
    If /I "%store%"=="865" set oct3=84
    If /I "%store%"=="866" set oct3=59
    If /I "%store%"=="890" set oct3=60
    If /I "%store%"=="891" set oct3=104
    If /I "%store%"=="892" set oct3=70
    If /I "%store%"=="893" set oct3=71
    If /I "%store%"=="895" set oct3=75
    If /I "%store%"=="896" set oct3=76
    If /I "%store%"=="897" set oct3=83
    If /I "%store%"=="898" set oct3=121
    If /I "%store%"=="2407" set oct3=207
    If /I "%store%"=="2446" set oct3=3
    If /I "%store%"=="2457" set oct3=4
    If /I "%store%"=="2619" set oct3=22
    If /I "%store%"=="2801" set oct3=201
    If /I "%store%"=="2802" set oct3=202
    If /I "%store%"=="2803" set oct3=203
    If /I "%store%"=="2805" set oct3=205
    If /I "%store%"=="2806" set oct3=206
    If /I "%store%"=="2843" set oct3=204
    If /I "%store%"=="3607" set oct3=139
    If /I "%store%"=="3622" set oct3=137
    If /I "%store%"=="3642" set oct3=32
    If /I "%store%"=="3893" set oct3=69
    If /I "%store%"=="3631" set oct3=131
    If /I "%store%"=="4433" set oct3=143
    If /I "%store%"=="4458" set oct3=29
    If /I "%store%"=="WHSE" set oct3=30
    If /I "%store%"=="140" set oct3=142
    If /I "%store%"=="5468" set oct3=7
    If /I "%store%"=="5727" set oct3=26
    If /I "%store%"=="5895" set oct3=138
    If "%oct3%"=="notSet" goto StoreNo

    :location
    cls
    echo.
    echo Enter Store or Rx
    set /p Loc= :
    echo.
    set oct2=notSet
    If /I "%Loc%"=="store" set oct2=16
    If /I "%Loc%"=="rx" set oct2=17
    If /I "%oct2%"=="notset" goto Location

    cls
    :2IP
    If /I "%oct2%"=="16" goto StorePrinter
    If /I "%oct2%"=="17" goto RXPrinter


    :StorePrinter
    cls
    echo.
    echo Enter SIGN, MFP, or DSD
    set /p Prtr= :
    echo.
    set oct4=notSet
    If /I "%Prtr%"=="sign" set oct4=21
    If /I "%Prtr%"=="mfp" set oct4=22
    If /I "%Prtr%"=="dsd" set oct4=23
    If /I "%Prtr%"=="sign" set Prtr=SIGN21
    If /I "%Prtr%"=="mfp" set Prtr=MFP22
    If /I "%Prtr%"=="dsd" set Prtr=DSD23
    If "%oct4%"=="notSet" goto StorePrinter
    Goto SetVars

    :RXPrinter
    cls
    echo.
    echo Enter FAX, MAIN, or MAIN2
    set /p Prtr= :
    echo.
    set oct4=notSet
    If /I "%Prtr%"=="fax" set oct4=20
    If /I "%Prtr%"=="main" set oct4=21
    If /I "%Prtr%"=="main2" set oct4=22
    If /I "%Prtr%"=="fax" set Prtr=FAX20
    If /I "%Prtr%"=="main" set Prtr=MAIN21
    If /I "%Prtr%"=="main2" set Prtr=MAIN22
    If "%oct4%"=="notSet" goto RXPrinter
    goto SetVars

    :SetVars
    cls
    SET varIP=172.%oct2%.%oct3%.%oct4%
    SET varDriver=Lexmark Universal
    SET varName=%store%-%Prtr%
    SET varLocation=172.%oct2%.%oct3%.%oct4%

    REM Check 32 or 64 bit
    if exist "c:\Program Files (x86)\" goto x64
    :x86
    SET varDriverFolder=\\fc1\\groups\\Lexmark Universal Driver 32-bit\\Print\\GDI
    SET varDriverFile=\\fc1\\groups\\Lexmark Universal Driver 32-bit\\Print\\GDI\\LMUD1O40.inf
    goto AddPrinter

    :x64
    SET varDriverFolder=\\fc1\\groups\\Lexmark Universal Driver 64-bit\\print\\win_2kxp\\
    SET varDriverFile=\\fc1\\groups\\Lexmark Universal Driver 64-bit\\print\\win_2kxp\\LMUD0640.inf

    :AddPrinter
    cls
    echo.
    REM "Deleting TCP/IP port"
    Echo Removing Port
    REM CSCRIPT /nologo %windir%\system32\Printing_Admin_Scripts\en-US\prnport.vbs -d -r IP_%varIP%
    cls
    REM "Creating TCP/IP port"
    ECHO Creating Port
    CSCRIPT /nologo %windir%\system32\Printing_Admin_Scripts\en-US\prnport.vbs -a -r IP_%varIP% -o raw -n 9100 -h %varIP%

    CLS
    REM "Installation message"
    @ECHO.
    @ECHO The %varLocation% printer is currently being installed.
    @ECHO.
    @ECHO Please do not close this window.
    @ECHO.
    @ECHO Once the installation is complete this Setup window will exit.
    @ECHO.

    REM "Driver installation"
    Echo Installing Driver
    CSCRIPT /nologo %windir%\system32\Printing_Admin_Scripts\en-US\prndrvr.vbs -a -m "%varDriver%" -h "%varDriverFolder%" -i "%varDriverFile%"  
    echo.

    REM "Printer deletion"
    echo Removing Possible Duplicate Printer 
    CSCRIPT /nologo %windir%\system32\Printing_Admin_Scripts\en-US\prnmngr.vbs -d -p "%varName%" 
    echo.

    REM "Printer installation"
    echo Adding Printer
    CSCRIPT /nologo %windir%\system32\Printing_Admin_Scripts\en-US\prnmngr.vbs -a -p "%varName%" -m "%varDriver%" -r "IP_%varIP%"
    echo.

    REM "Location configuration"
    echo Configuring Printer
    CSCRIPT /nologo %windir%\system32\Printing_Admin_Scripts\en-US\prncnfg.vbs -t -p "%varName%" -l "%varLocation%"
    echo.

    REM "Making it Default printer"
    REM CSCRIPT %windir%\system32\Printing_Admin_Scripts\en-US\prnmngr.vbs -p "%varName%" -t

    

    • Changed type Bill_Stewart Friday, July 7, 2017 6:59 PM
    • Moved by Bill_Stewart Friday, July 7, 2017 6:59 PM This is not "research solution for me" forum
    Wednesday, May 31, 2017 2:00 PM

All replies

  • The 172.16.25.22 printer is currently being installed.

    Please do not close this window.

    Once the installation is complete this Setup window will exit.

    Installing Driver
    Unable to add printer driver Lexmark Universal Win32 error code 87

    Removing Possible Duplicate Printer
    Unable to delete printer 821-MFP22 Error 0x80041002 Not found
    Operation GetObject
    Provider CIMWin32
    Description
    Win32 error code

    Adding Printer
    Unable to add printer 821-MFP22 Error 0x80041001 Generic failure
    Operation PutInstance
    Provider Win32 Provider
    Description The printer driver is unknown.
    Win32 error code 1797

    Configuring Printer
    Unable to get configuration for printer 821-MFP22 Error 0x80041002 Not found
    Operation GetObject
    Provider CIMWin32
    Description
    Win32 error code
    Wednesday, May 31, 2017 2:02 PM
  • Use Group Policy to map printers rather than a script.

    -- Bill Stewart [Bill_Stewart]

    Wednesday, May 31, 2017 2:12 PM