Windows Vista Tips

Windows Vista Tips > Newsgroups > Windows Server > Scripting > Re: Re: Batch file - add network printers via printui.dll, PrintUIEntr

Reply
Thread Tools Display Modes

Re: Re: Batch file - add network printers via printui.dll, PrintUIEntr

 
 
Douglas Cowie
Guest
Posts: n/a

 
      10-23-2010
Try this out:

@reg query hklm\system\currentcontrolset\control\print\printe rs
/f "HP Photosmart C4401 series" /z | find " 0 match" > nul && (do your printui.exe stuff, printer was not found)

> On Tuesday, July 29, 2008 1:19 AM aroy wrote:


> Greetings all,
>
> I have a client who chooses to deploy printers via their login script.
> For each of the ~30 printers I have a batch file containing:
>
> rundll32 printui.dll,PrintUIEntry /in /n "\\server_name
> \printer_name01"
> rundll32 printui.dll,PrintUIEntry /y /n "\\server_name\priner_name01"
>
> rundll32 printui.dll,PrintUIEntry /in /n "\\server_name
> \printer_name02"
>
> Users access is to these files is controlled by using ifmember.exe. If
> user is a member of printer_group03 then run this batch file else move
> on to next.
>
> This works fine.
>
> BUT, each time they login this scrip it run. How can I first check to
> see if a specific printer is installed before adding it?
>
> Essentially what I want to do is:
>
> If exist(on local computer, NOT server) \\server_name\printer_name01
> goto exit
> if NOT exist \\server_name\printer_name01 add it
>
> Is that at all possible??
>
> thanks.



>> On Tuesday, July 29, 2008 1:37 AM Pegasus \(MVP\) wrote:


>> Have a look at this help command: rundll32 printui.dll,PrintUIEntry /?



>>> On Tuesday, July 29, 2008 2:46 PM Pegasus \(MVP\) wrote:


>>> "aroy" <> wrote in message
>>> news:60a801cf-bc6e-43d3-b6e8-...
>>> On Jul 28, 10:37 pm, "Pegasus \(MVP\)" <I....@fly.com.oz> wrote:
>>>
>>> Thanks, best I can find in there is a /q. That hides the little dialog
>>> box that pops up when the printer is added. That gets the job
>>> done...sort of. The users are not bothered by the dialog box but, the
>>> printers are still being installed each time they login regardless of
>>> whether or not they are already installed.
>>>
>>> I would still like to be able to check if the printer is installed on
>>> the local machine first.
>>>
>>> thanks,
>>> ===========
>>> You could use the script below but your users might not
>>> appreciate the delay it introduces into the logon process.
>>> Invoking it remotely and creating a local tell-tale file would
>>> get around the delay.
>>> Set objWMI = GetObject("winmgmts:\\.\root\CIMV2")
>>> Set colPrn = objWMI.ExecQuery("SELECT * FROM Win32_Printer")
>>>
>>> For Each objItem In colPrn
>>> WScript.Echo "Printer name: " & objItem.name & VbCrLf & _
>>> "====================================" & VbCrLf & _
>>> "Port Name: " & objItem.PortName & VbCrLf & _
>>> "Printer State: " & objItem.PrinterState & VbCrLf & _
>>> "Printer Status: " & objItem.PrinterStatus & VbCrLf & _
>>> "PrintJobDataType: " & objItem.PrintJobDataType & VbCrLf & _
>>> "Print Processor: " & objItem.PrintProcessor & VbCrLf & _
>>> "Spool Enabled: " & objItem.SpoolEnabled & VbCrLf & _
>>> "Separator File: " & objItem.SeparatorFile & VbCrLf & _
>>> "Status: " & objItem.Status & VbCrLf & _
>>> "StatusInfo: " & objItem.StatusInfo & VbCrLf & _
>>> "ShareName: " & objItem.ShareName & VbCrLf & _
>>> "Horizontal Res: " & objItem.HorizontalResolution & VbCrLf & _
>>> "Vertical Res: " & objItem.VerticalResolution
>>> WScript.Echo "Work Offline: " & objItem.WorkOffline
>>> Next



>>>> On Wednesday, July 30, 2008 9:31 AM JFor wrote:


>>>> A bit faster than WMI is the REG command...
>>>>
>>>> FIND /I "Printer Name"
>>>>
>>>> based on %errorlevel% you can end or add
>>>>
>>>> -J
>>>>
>>>> "Pegasus (MVP)" wrote:



>>>>> On Wednesday, July 30, 2008 10:24 AM Pegasus \(MVP\) wrote:


>>>>> The reg.exe command is not a bit faster than WMI, it
>>>>> is always a lot faster!



>>>>>> On Wednesday, July 30, 2008 1:37 PM JFor wrote:


>>>>>> True! A definite understatement on my part...
>>>>>>
>>>>>> "Pegasus (MVP)" wrote:



>>>>>>> On Sunday, August 03, 2008 6:48 AM aroy wrote:


>>>>>>> On Jul 28, 10:37=A0pm, "Pegasus \(MVP\)" <I....@fly.com.oz> wrote:
>>>>>>>
>>>>>>> Thanks, best I can find in there is a /q. That hides the little dialog
>>>>>>> box that pops up when the printer is added. That gets the job
>>>>>>> done...sort of. The users are not bothered by the dialog box but, the
>>>>>>> printers are still being installed each time they login regardless of
>>>>>>> whether or not they are already installed.
>>>>>>>
>>>>>>> I would still like to be able to check if the printer is installed on
>>>>>>> the local machine first.
>>>>>>>
>>>>>>> thanks,



>>>>>>>> On Sunday, August 03, 2008 6:48 AM aroy wrote:


>>>>>>>> es" |
>>>>>>>>
>>>>>>>> Excellent thanks all...I am going to try JFords idea today when I get
>>>>>>>> back to the office.



>>>>>>>> Submitted via EggHeadCafe - Software Developer Portal of Choice
>>>>>>>> Review of DevExpress DXperience Control Suite
>>>>>>>> http://www.eggheadcafe.com/tutorials...rol-suite.aspx

 
Reply With Quote
 
 
 
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Trouble installing Windows XP SP3 and other MS updates DanP Windows Update 27 08-18-2010 09:34 PM
testing smart card minidriver leochou Windows Vista Drivers 0 05-31-2010 11:58 AM
Leftover folders after Microsoft Update mme000 \(add @yahoo.it to my nick\) Windows Update 21 12-26-2009 10:11 PM
Re: Local Access Only, Unidentified Network Jack-MVP Windows Vista Networking 5 12-08-2009 11:48 AM
What is up with Vista's file system? Stan Shankman Windows Vista File Management 7 08-15-2006 07:59 AM



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59