Page 1 of 1 1
Topic Options
#196602 - 2009-11-06 04:50 PM problems setting default printer on new print server
DemoDog Offline
Fresh Scripter

Registered: 2009-08-20
Posts: 9
Loc: Washington DC
Hello;
Unable to set the default printer on $NewSrv. Do I have to escape the
backslash in the printer UNC path when testing for the default
printer or something else?
thanks
S
****

 Code:
$NewSrv=\\vhost\ 
$OldSrv=\\pserver1\ 
;? $NewSrv 
;? $OldSrv 
$aDCPtrs = 
"6thFloorCanon","6thFloorFieldCrew1","EngineeringPlotter_HPGL2", 
"EngineeringPlotterPS" 

$defaultprn = GetDefaultPrinter() 
;? "$defaultprn" 
For Each $Ptr in $aDCPtrs 
;    ? "$OldSrv""$Ptr" 
   if "$defaultprn"="$OldSrv""$Ptr" 
;    ? "$OldSrv""$Ptr" 
;    ? "$NewSrv""$Ptr" 
     if SetDefaultPrinter("$NewSrv""$Ptr")=0 
       ? "$NewSrv""$Ptr" 
     endif 
   endif 


GoTo END 


Function GetDefaultPrinter() 
        $GetDefaultPrinter = Join(Split(ReadValue("HKEY_USERS\" + @sid + 
"\Software\Microsoft\Windows NT\CurrentVersion\Windows", "Device"), 
',', 1), '') 
EndFunction 


:END 



Edited by Allen (2009-11-06 08:02 PM)
Edit Reason: added code tags
_________________________
If Stupidity got us into this mess, then why can't it get us out?
Will Rogers

Top
#196603 - 2009-11-06 08:04 PM Re: problems setting default printer on new print server [Re: DemoDog]
BoForce Offline
Fresh Scripter
**

Registered: 2005-10-22
Posts: 36
Loc: Leeuwarden, The Netherlands
Hi DemoDog,

You forgot 'Next' in the For Next loop.

Here's what you could try.

 Code:
$NewSrv='\\vhost' 
$OldSrv='\\pserver1' 
$aDCPtrs = "6thFloorCanon","6thFloorFieldCrew1","EngineeringPlotter_HPGL2","EngineeringPlotterPS" 

For Each $Ptr in $aDCPtrs 
   If GetDefaultPrinter() = $OldSrv+'\'+$Ptr 
      If SetDefaultPrinter($NewSrv'\'$Ptr)=0 
	 ? $NewSrv'\'$Ptr 
      EndIf 
   EndIf 
Next


Your Function GetDefaultPrinter() is ok.

Top
#196604 - 2009-11-06 08:56 PM Re: problems setting default printer on new print server [Re: BoForce]
DemoDog Offline
Fresh Scripter

Registered: 2009-08-20
Posts: 9
Loc: Washington DC
BoForce; damned few things I like better than a fix on a Friday afternoon.
Good catch on the missing 'Next' statement and your suggestions on the variable naming got me sorted out.
I left the variables unchanged;
$NewSrv=\\vhost\
$OldSrv=\\pserver1\

but enclosed both server and printer variable names within double quotes rather than individually in the code body and KIX was satisfied.
thanks for the help and TGIF.
DemoDog

 Code:
 if "$defaultprn"="$OldSrv$Ptr" 
      addprinterconnection("$NewSrv$Ptr")
;    ? "$OldSrv$Ptr" 
;    ? $NewSrv'\'$Ptr 
     if SetDefaultPrinter("$NewSrv$Ptr")=0 
;        ? "$NewSrv$Ptr" 


Edited by Mart (2009-11-08 08:57 PM)
Edit Reason: Please use code tags when posting code.
_________________________
If Stupidity got us into this mess, then why can't it get us out?
Will Rogers

Top
#196605 - 2009-11-06 09:28 PM Re: problems setting default printer on new print server [Re: DemoDog]
Glenn Barnas Administrator Offline
KiX Supporter
*****

Registered: 2003-01-28
Posts: 4402
Loc: New Jersey
KGen/Sanity would have caught that for ya.. Here's the output from KGen using your script as a source:
 Code:
G0PW01 - C:\temp\x>kgen x

KGen v2.4 - Kixtart script UDF linker
(C) 2000-2009 - Glenn Barnas / Inno-Tech Consulting

Searching for available UDFs........................
 194 UDFs located in 121 files.
No UDFs needed for this generation!
Generation of x.KIX is complete!

Pass 1 : 33
Pass 2.

Warning: Undeclared variable.
              Variable Name: $OldSrv
                In function: Main
         Referenced on line: 3

Warning: Undeclared variable.
              Variable Name: $aDCPtrs
                In function: Main
         Referenced on line: 6

Warning: Undeclared variable.
              Variable Name: $defaultprn
                In function: Main
         Referenced on line: 10

Warning: Undeclared variable.
              Variable Name: $Ptr
                In function: Main
         Referenced on line: 12

Warning: Undeclared variable.
              Variable Name: $NewSrv
                In function: Main
         Referenced on line: 17

Warning: Possible mismatched parenthesis.
                In function: GetDefaultPrinter
         Referenced on line: 27
         PF=3
     27: $GetDefaultPrinter = Join(Split(ReadValue("HKEY_USERS\" + @sid +

Warning: Possible mismatched parenthesis.
                In function: GetDefaultPrinter
         Referenced on line: 28
         PF=-1
     28: "\Software\Microsoft\Windows NT\CurrentVersion\Windows", "Device"),

Warning: Possible mismatched parenthesis.
                In function: GetDefaultPrinter
         Referenced on line: 29
         PF=-2
     29: ',', 1), '')
Pass 3 : 33
Pass 4..
Pass 5 : 32
Warning: 1 Unterminated For statement(s)!
 8 warnings generated, 33 lines processed.
And here's the CodeMap file:
 Code:
000001: Main
000011:  For Each $Ptr in $aDCPtrs
000013:   if "$defaultprn"="$OldSrv""$Pt
000016:    if SetDefaultPrinter("$NewSrv"
000018:    EndIf
000019:   EndIf

000025: Function: GetDefaultPrinter
 - Warning: Open For when defining function. 1
000029: EndFunction GetDefaultPrinter
Warning: 1 Unterminated For statement(s)!
The CodeMap file makes it easy to see missing function pairs.

KGen with Sanity is part of our KixDev product, which is free to download from our web site.

Glenn
_________________________
Actually I am a Rocket Scientist! \:D

Top
#196611 - 2009-11-09 04:52 PM Re: problems setting default printer on new print server [Re: Glenn Barnas]
DemoDog Offline
Fresh Scripter

Registered: 2009-08-20
Posts: 9
Loc: Washington DC
thnx Glenn .. I'll look into it.
DemoDog
_________________________
If Stupidity got us into this mess, then why can't it get us out?
Will Rogers

Top
Page 1 of 1 1


Moderator:  Jochen, Allen, Radimus, Glenn Barnas, ShaneEP, Ruud van Velsen, Arend_, Mart 
Hop to:
Shout Box

Who's Online
0 registered and 840 anonymous users online.
Newest Members
Viginette, ManuvdWielNL, Sir_Barrington, batdk82, StuTheCoder
17888 Registered Users

Generated in 0.054 seconds in which 0.024 seconds were spent on a total of 13 queries. Zlib compression enabled.

Search the board with:
superb Board Search
or try with google:
Google
Web kixtart.org