none
xp加放域后,本地所有用户都无法手工安装本地打印机,显示为灰 RRS feed

  • 问题

  • 包括administrators,powers,users,只有域管理员才行.域用户无法添加  

    现客户要求如下:

    domain user只能有工作站的user权限,
    在login时,运行脚本安装网络打印机,如:hp5000,IP为:10.144.48.215
    注销时删除此打印机
    添加打倒机脚本如下:



    Set objWMIService = GetObject("winmgmts:")
    Set objNewPort = objWMIService.Get _
        ("Win32_TCPIPPrinterPort").SpawnInstance_
    objNewPort.Name = "IP_10.144.48.215"
    objNewPort.Protocol = 1
    objNewPort.HostAddress = "10.144.48.215"
    objNewPort.PortNumber = "9100"
    objNewPort.SNMPEnabled = False
    objNewPort.Put_


    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set objPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_
    objPrinter.DriverName = "HP LaserJet 5000 Series PCL6"
    objPrinter.PortName   = "IP_10.144.48.215"
    objPrinter.DeviceID   = "hp5000"
    objPrinter.Location = "USA/Redmond/Building 37/Room 114"
    objPrinter.Network = True
    objPrinter.Shared = false

    objPrinter.Put_


    放入组策略中,工作站显示:行:12,字符1,错误:访问遭到拒绝,代码:80041003,源Tongue TiedWbemObjectex
    也就是这一行SurprisebjNewPort.Put_

    把用户加入power users可以安装成功,但达不到客户要求:
    用RUANAS /userBig Smileomain admin "d:\bbb.bat",可以成功
    d:\bbb.bat如下:
    rundll32 printui.dll,PrintUIEntry /if /b "hp5000" /f %windir%\inf\ntprint.inf /r "IP_10.144.48.215" /m "HP LaserJet 5000 Series PCL6" /Z
    但如果没有这个IP_10.144.48.215打印端口,还是出错

    如何使用特权调用脚本?
    用rundll32 printui.dll,PrintUIEntry 如何添加打倒端口?

    2007年11月29日 6:19

答案

  • 搞定:
    手工安装一个打印端口,在注册表中导出成REG文件

    用脚本调用runas 和自动送密码,runas调用一bat文件,bat文件中调用注册表文件及rundll32 printui.dll,PrintUIEntry /if /b "hp5000" /f %windir%\inf\ntprint.inf /r "IP_10.144.48.215" /m "HP LaserJet 5000 Series PCL6" /Z


    成功
    2007年11月29日 7:54