?
Solved

Printer Login Script Modification?

Posted on 2008-06-23
11
Medium Priority
?
544 Views
Last Modified: 2008-06-25
Experts,

I have this printer script that works perfectly:

REM Add printer
echo Installing [Xerox] on [troy]
RunDll32.EXE printui.dll,PrintUIEntry /in /n "\\troy\4th FL Xerox 7675"
echo Your default printer is [Xerox] on [troy]
REM Add printer
echo Installing [Xerox] on [troy]
RunDll32.EXE printui.dll,PrintUIEntry /in /n "\\troy\Intake Xerox 5030"
echo Your default printer is [Xerox] on [troy]
REM Add printer
echo Installing [Xerox] on [troy]
RunDll32.EXE printui.dll,PrintUIEntry /in /n "\\troy\3rd FL Xerox 7675"
echo Your default printer is [Xerox] on [troy]
rundll32 printui.dll,PrintUIEntry /dn /n"\\appserver\Xerox Copyroom" /q
rundll32 printui.dll,PrintUIEntry /dn /n"\\appserver\Xerox 3rd Floor" /q
rundll32 printui.dll,PrintUIEntry /dn /n"\\appserver\HP Color LaserJet 4650 PCL 6" /q

Is it possible to add extra code that will stop it from running on 1 computer? I have a terminal server that is locked down and when a TS user logs into the terminal server the restrictions stop these printers from being installed but they have to click ok three times to the "you don't have permission" box that pops up at login. I would like to exclude this 1 computer so that they dont get this error.

If this is not possible just let me know. I would like to do this via script.

Thanks!



0
Comment
Question by:cbossert
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 4
  • 2
  • +1
11 Comments
 
LVL 1

Accepted Solution

by:
mastertechnc earned 2000 total points
ID: 21851385
change mtnc-02 to the name of your ts-server, to be safe make sure use the same computer name when your run

echo %COMPUTERNAME% from the command line
IF not %COMPUTERNAME%==MTNC-02
(
REM Add printer
echo Installing [Xerox] on [troy]
RunDll32.EXE printui.dll,PrintUIEntry /in /n "\\troy\4th FL Xerox 7675"
echo Your default printer is [Xerox] on [troy]
REM Add printer
echo Installing [Xerox] on [troy]
RunDll32.EXE printui.dll,PrintUIEntry /in /n "\\troy\Intake Xerox 5030"
echo Your default printer is [Xerox] on [troy]
REM Add printer
echo Installing [Xerox] on [troy]
RunDll32.EXE printui.dll,PrintUIEntry /in /n "\\troy\3rd FL Xerox 7675"
echo Your default printer is [Xerox] on [troy]
rundll32 printui.dll,PrintUIEntry /dn /n"\\appserver\Xerox Copyroom" /q
rundll32 printui.dll,PrintUIEntry /dn /n"\\appserver\Xerox 3rd Floor" /q
rundll32 printui.dll,PrintUIEntry /dn /n"\\appserver\HP Color LaserJet 4650 PCL 6" /q
)

Open in new window

0
 
LVL 24

Expert Comment

by:purplepomegranite
ID: 21851420
The attached will work - just modify the name of the server to the one you wish to exclude (first line of code).
IF %COMPUTERNAME%==TSSERVER GOTO EOF
REM Add printer
echo Installing [Xerox] on [troy]
RunDll32.EXE printui.dll,PrintUIEntry /in /n "\\troy\4th FL Xerox 7675"
echo Your default printer is [Xerox] on [troy]
REM Add printer
echo Installing [Xerox] on [troy]
RunDll32.EXE printui.dll,PrintUIEntry /in /n "\\troy\Intake Xerox 5030"
echo Your default printer is [Xerox] on [troy]
REM Add printer
echo Installing [Xerox] on [troy]
RunDll32.EXE printui.dll,PrintUIEntry /in /n "\\troy\3rd FL Xerox 7675"
echo Your default printer is [Xerox] on [troy]
rundll32 printui.dll,PrintUIEntry /dn /n"\\appserver\Xerox Copyroom" /q
rundll32 printui.dll,PrintUIEntry /dn /n"\\appserver\Xerox 3rd Floor" /q
rundll32 printui.dll,PrintUIEntry /dn /n"\\appserver\HP Color LaserJet 4650 PCL 6" /q
:EOF

Open in new window

0
 
LVL 24

Expert Comment

by:purplepomegranite
ID: 21851424
lol, must learn to type quicker ;-)
0
NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

 
LVL 12

Expert Comment

by:Serge Fournier
ID: 21851425
use a vbs script to install your printers (on windows 2000+)

you can use the network object to have the name of the person who is logging

ass this to the script:
if usenam="theguy.iwantomapprinter" then
    'add printer here
end if

my whole logon script is in this post:
(in case i forget something, like a object definition)
http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/Server/2003_Server/Q_23486974.html


'------------vbs file-----------
'=== network groups (pas le login) avec tous les CN, OU, DC
Set objUser = CreateObject("ADSystemInfo")
Set CurrentUser = GetObject("LDAP://" & objUser.UserName)
 
'=== network usename
usenam = lcase(objNet.UserName)
uselna = lcase(currentuser.sn)         '=== last name
usefna = lcase(currentuser.givenname)  '=== first name
 
 
'=== remark in front, to test script, so error can show up
'on error resume next
 
Set objNet    = CreateObject("WScript.Network") 
 
'=== printer server name
serv01 = "\\printerserver\"
'=== printer name
a = "hpprintername"
'=== server + share name for the drive to map
b = serv01 & a
 
objNet.RemovePrinterConnection b
objNet.AddWindowsPrinterConnection b
 
'=== end of printers
 
 
'=== mapping of network drives done

Open in new window

0
 
LVL 12

Expert Comment

by:Serge Fournier
ID: 21851433
oops i tought you said stopping from one user

anyway my initial script chek for computer name too

you can code a great logon script in vbs
more possibilities than any .bat file
0
 
LVL 1

Expert Comment

by:mastertechnc
ID: 21851465
we use vbs but are moving to perl,
0
 
LVL 24

Expert Comment

by:purplepomegranite
ID: 21851488
There are situations in which a bat file is more appropriate.  Just as there are situations that Perl makes things easier... the point in languages is that each has their place.

In this case, the original code is a batch file.  The asker says it works well, he would just like a minor change.  As the minor change is adding two lines to the code, it makes sense to stick with the batch file instead of rewriting it in VBS - in my opinion.

Though all my printer installation scripts are also in VBS.
0
 

Author Comment

by:cbossert
ID: 21851531
NICE!! That was all I was looking for and it works great!!

Thank you mastertech!!

Thank you to the rest of you experts for your comments, but this is what I wanted/needed.

cbossert
0
 
LVL 12

Expert Comment

by:Serge Fournier
ID: 21851571
you are right purplepomegranite, this user will accept your solution
since mine is incomplete and will make him work more hehe

but i like to post thoses .vbs files, so poeple can see a wider range of possibilities
it's their call, to use them or not, even though thy should get your solution, by respect


0
 
LVL 24

Expert Comment

by:purplepomegranite
ID: 21851597
lol, not my solution, I was beaten to it, so quite rightly the points have been given to mastertechnc.

VBS is a very powerful tool - and is one that I use more often than any other.  But you shouldn't underestimate batch... it is a black art that comes into it's own in certain situations. :-)
0
 
LVL 12

Expert Comment

by:Serge Fournier
ID: 21851731
*shiver*

are you trying to get more poeple to the dark side?
yoda would not like you :P
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Group policies can be applied selectively to specific devices with the help of groups. Utilising this, it is possible to phase-in group policies, over a period of time, by randomly adding non-members user or computers at a set interval, to a group f…
Here's a look at newsworthy articles and community happenings during the last month.
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…
Suggested Courses
Course of the Month13 days, 23 hours left to enroll

800 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question