我想每一位IT人士都面临过这样的问题,公司新添置了一台网络打印机,也就是带网卡的打印机,客户机经过安装驱动便可使用,而无需经过其余机器共享打印机的限制。若是你面临着大约100台左右的客户机,而须要一台一台的安装怎么办,我想这也是一个棘手的问题。下面我教你们一个经过组策略加上VBS脚原本实现客户机自动添加打印机的方法。
首先介绍一下环境:
1.
公司网络必须是域环境。
2.
完整的打印机驱动,并拷贝到网络任意共享的文件夹下,客户机能够访问获得。
下面咱们一步一步的进行:
第1、
咱们看一下脚本,自动添加打印机的脚本能够从微软的网站上找到,这里我给你们列举我本身仿照微软的脚本根据实际状况而进行修改的文件,而后我着重介绍一下我修改的地方。新建一个.vbs的文件我就不用说了,相比你们都已经熟知。
'Install printer port
Set objWMIService = GetObject("winmgmts:")
Set objNewPort = objWMIService.Get _
("Win32_TCPIPPrinterPort").SpawnInstance_
objNewPort.Name = "IP_10.86.229.11"
objNewPort.Protocol = 1
objNewPort.HostAddress = "10.86.229.11"
objNewPort.PortNumber = "9100"
objNewPort.SNMPEnabled = False
objNewPort.Put_
'install printer driver
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & _
"{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objDriver = objWMIService.Get("Win32_PrinterDriver")
objDriver.Name = "Lexmark T642"
objDriver.SupportedPlatform = "Windows NT x86"
objDriver.Version = "3"
objDriver.FilePath="\\tsnserver\Software、(E)\Drivers\printer\lexmark\644\driver\Drivers\Print\Win_2kXP"
objDriver.InfName="\\tsnserver\Software (E)\Drivers\printer\lexmark\644\driver\Drivers\Print\Win_2kXP\LMAAT2DA.INF"
intResult = objDriver.AddPrinterDriver(objDriver)
'WScript.Echo intResult
'Config printer
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_
objPrinter.DriverName = "Lexmark T642"
objPrinter.PortName = "IP_10.86.229.11"
objPrinter.DeviceID = "TSNLAN11"
objPrinter.Location = "TSNLAN11"
objPrinter.Network = TRUE
objPrinter.Shared = False
objPrinter.ShareName = " "
objPrinter.Put_
'set default printer
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer Where Name = 'TSNLAN11'")
For Each objPrinter in colInstalledPrinters
objPrinter.SetDefaultPrinter()
Next
注意:
1.
标注红色下划线的位置是根据咱们的环境进行修改的,如打印机的地址、型号、打印机名字、打印机驱动文件、打印机驱动文件所在的目录。
2.
带有‘标注的基本上是注释部分,不用管它,
3.
其余语句,若是有兴趣能够研究一下具体的意思!
第2、
将咱们改好的文件保存一下,固然是保存成.vbs的文件,存放在网络共享盘上面(所欲的域用户均可以访问)
第3、
接下来咱们要对服务器进行操做了,首先若是安装了组策略编辑工具那样更好,若没有安装也不要紧咱们只要找到相应的OU而后右键直接对该OU进行组策略编辑,
a)
咱们在组策略编辑器——计算机策略——Windows 设置——开机——开机脚本

b)
点 击增长,而后输入咱们须要共享的脚本,这里建议你们用手输入的方法,并且使用网络路径,由于我曾试过用他里面提供的增长功能,直接指向个人共享文件夹里面 的脚本文件,但是都不生效,也试过把共享的脚本文件放在那个特别长的文件夹下面,我所指的是默认提供的路径,后来客户端发现没有访问权限,因而我就手动输 入个人网络路径,也就是用\\这种方式,后来就能够了,不知道怎么回事,若是知道的朋友也能够告诉我一声,很是感谢。

第4、
最后就是去客户端执行gpupdate /force,这是刷新完组策略提示从新启动,这样估计下次开机的时候就可使用了,是否是很方便呢?
备 注:因为时间的缘由,文章写的很粗略,我想对于组策略你们应该都很是熟悉了,我就很少罗嗦了,脚本部分你们可能有疑问:添加完了,是否是客户端要更改默认 打印机呢?不用,由于安装完已是默认的了,最后几条语句就是设置默认打印机,是否是?好了,就写到这了,有什么问题你们给我留言!
本文出自 “点滴成就非凡” 博客,请务必保留此出处http://coldmail.blog.51cto.com/37442/117880服务器