我想每一位IT人士都面臨過這樣的問題,公司新添置了一臺網絡打印機,也就是帶網卡的打印機,客戶機通過安裝驅動即可使用,而無需通過其他機器共享打印機的限制。如果你面臨著大約100臺左右的客戶機,而需要一臺一臺的安裝怎么辦,我想這也是一個棘手的問題。下面我教大家一個通過組策略加上VBS腳本來實現(xiàn)客戶機自動添加打印機的方法。
首先介紹一下環(huán)境:
1. 公司網絡必須是域環(huán)境。
2. 完整的打印機驅動,并拷貝到網絡任意共享的文件夾下,客戶機可以訪問得到。
下面我們一步一步的進行:
第一、 我們看一下腳本,自動添加打印機的腳本可以從微軟的網站上找到,這里我給大家列舉我自己仿照微軟的腳本根據實際情況而進行修改的文件,然后我著重介紹一下我修改的地方。新建一個.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. 標注紅色下劃線的位置是根據我們的環(huán)境進行修改的,如打印機的地址、型號、打印機名字、打印機驅動文件、打印機驅動文件所在的目錄。
2. 帶有‘標注的基本上是注釋部分,不用管它,
3. 其他語句,如果有興趣可以研究一下具體的意思!
第二、 將我們改好的文件保存一下,當然是保存成.vbs的文件,存放在網絡共享盤上面(所欲的域用戶都可以訪問)
第三、 接下來我們要對服務器進行操作了,首先如果安裝了組策略編輯工具那樣更好,若沒有安裝也沒關系我們只要找到相應的OU然后右鍵直接對該OU進行組策略編輯,
a) 我們在組策略編輯器——計算機策略——Windows 設置——開機——開機腳本
b) 點擊增加,然后輸入我們需要共享的腳本,這里建議大家用手輸入的方法,而且使用網絡路徑,因為我曾試過用他里面提供的增加功能,直接指向我的共享文件夾里面的腳本文件,可是都不生效,也試過把共享的腳本文件放在那個特別長的文件夾下面,我所指的是默認提供的路徑,后來客戶端發(fā)現(xiàn)沒有訪問權限,于是我就手動輸入我的網絡路徑,也就是用\\這種方式,后來就可以了,不知道怎么回事,如果知道的朋友也可以告訴我一聲,非常感謝。
第四、 最后就是去客戶端執(zhí)行gpupdate /force,這是刷新完組策略提示重新啟動,這樣估計下次開機的時候就可以使用了,是不是很方便呢?
備注:由于時間的原因,文章寫的很粗略,我想對于組策略大家應該都非常熟悉了,我就不多羅嗦了,腳本部分大家可能有疑問:添加完了,是不是客戶端要更改默認打印機呢?不用,因為安裝完已經是默認的了,最后幾條語句就是設置默認打印機,是不是?好了,就寫到這了,有什么問題大家給我留言!
本文出自 “點滴成就非凡” 博客,請務必保留此出處http://coldmail.blog.51cto.com/37442/117880