0
首先,我很抱歉我的英語。添加與VBS的本地打印機端口
我有一個關於Windows WMI的問題,以及如何將本地端口添加到共享打印機。我有此腳本:
Set objWMIService = GetObject("winmgmts:")
Set objNewPort = objWMIService.Get _
("Win32_TCPIPPrinterPort").SpawnInstance_
objNewPort.Name = "Ricoh3300C"
objNewPort.Protocol = 2
objNewPort.HostAddress = "XXX.XXX.X.XXX"
objNewPort.PortNumber = "9100"
objNewPort.SNMPEnabled = False
objNewPort.Put_
有了這個,我可以添加與IP地址的打印機,但我想補充的Samba服務器的打印機中包含「\\ XXX.XXX.X.XXX \ printerColor」地址。我在谷歌上花了很多時間試圖找到一個腳本,並且我看到的所有內容都是針對TCPIP端口的。我不想這樣做,但在當地的港口。
我試圖用prnadmin.dll使用這個腳本,沒有運氣。
function PortAdd(strPort, portType)
on error resume next
dim oMaster
dim oPort
dim iResult
set oMaster = CreateObject("PrintMaster.PrintMaster.1")
set oPort = CreateObject("Port.Port.1")
iResult = kErrorFailure
oPort.PortName = strPort
oPort.PortType = portType
oMaster.PortAdd oPort
if Err = 0 then
iResult = kErrorSuccess
else
wscript.echo "Error: 0x" & Hex(Err.Number) & ". " & Err.Description
end if
PortAdd = iResult
end function
我得到這個錯誤:
Error: 0x1A8. Se requiere un objeto
英語就像
Error: 0x1A8. An object is required
我怎樣才能解決這個錯誤,或者我可以用什麼腳本添加本地端口?提前致謝。
我忘了說我想用沒有管理員權限的普通用戶來做。第一個腳本在那個用戶中工作正常,但是對於TCPIP。
我不確定添加端口是否可以用普通用戶憑證完成。請告知在哪一行發生VBS錯誤。 – Tomalak
刪除'On Error Resume Next'以查看錯誤發生在哪一行。 –
我發現第二個腳本給出了這個錯誤,因爲需要管理員帳戶(我管理員帳戶,但我沒有在W7作爲管理員運行),但第一個腳本添加一個TCPIP端口沒有問題在普通帳戶,我可以添加具有該端口的打印機沒有問題,但我想使用Cups打印機服務器來管理所有打印機,我需要創建一個指向服務器網絡地址的本地端口。所有的問題是因爲我想爲打印機使用自定義名稱,如果我添加打印機作爲網絡打印機,我會得到一個名稱,如「Ricoh3300C-PS在ServerName」,並且我想要「Ricoh 3300 Color」例如。 –