set default printer in terminal server script

Visual Studio99
Hi

Windows 2003 En terminal sever

Windows 2000 Pro clients

Windows 2000 native domain

Maybe some one can help

I try set default printer with logon script

problem is that script set default printer (installed local on terminal

server) after ~30s

If pause is smaler i get error some like printer name not found or ect. I

try diferent metods to set printers but result are the same

Marius



PS.: Script set default printer based on client computer group membership



On error resume next

Const ADS_NAME_INITTYPE_GC = 3

Const ADS_NAME_TYPE_NT4 = 3

Const ADS_NAME_TYPE_1779 = 1

pr1="1printer"

pr2="2printer"

Set objNetwork = CreateObject("Wscript.Network")

server = objNetwork.ComputerName

Set ADSysInfo = CreateObject("ADSystemInfo")

Set Sh=WScript.CreateObject("WScript.Shell")

Set CurrentUser = GetObject("LDAP://" & ADSysInfo.UserName)

Clientname=Sh.ExpandEnvironmentStrings("%Clientname%")

Set objShell = CreateObject("Wscript.Shell")

strNetBIOSDomain = objShell.Environment("Process").Item("userdomain")

strDomain = strNetBIOSDomain

strComputer = clientname

Set objTrans = CreateObject("NameTranslate")

objTrans.Init ADS_NAME_INITTYPE_GC, ""

objTrans.Set ADS_NAME_TYPE_NT4, strDomain & "\" & strComputer & "$"

strComputerDN = objTrans.Get(ADS_NAME_TYPE_1779)

Set objComputer = GetObject("LDAP://" & strComputerDN)

Set colGroups = objComputer.Groups

wscript.sleep 30000 '<---if i change this to 25000 error come out

For Each objGroup in colGroups

If objGroup.cn=pr1 Then

Set objWMIService = GetObject ("winmgmts:\\" & server &_

"\root\cimv2:Win32_Process")

objWMIService.Create("rundll32 printui.dll,PrintUIEntry /y_

/n\\"&server&"\HP2000C")'

ElseIf objGroup.cn=pr2 Then

Set objWMIService = GetObject ("winmgmts:\\" & server &_

"\root\cimv2:Win32_Process")

objWMIService.Create("rundll32 printui.dll,PrintUIEntry /y_

/n\\"&server&"\HP2500C")'

End If

Next


-