Usuário com melhor resposta
Remover todas as impressoras Mapeadas por VBScript

Pergunta
-
Oi pessoal, preciso remover todas as impressoras que possivelmente esteja mapeada no micro do usuário.
Estou montando um LogonScript pra executar tudo o que preciso nos micros dos users.
Porém, trocamos de servidor de impressão e precisamos desmapear todas as impressoras que possam haver do servidor antigo.
Existe alguma variável geral que desconecte todas, tipo *, %, etc...
Fiz o seguinte.
Set objNetwork = WScript.CreateObject("WScript.Network")
Set colPrinters = objNetwork.EnumPrinterConnections
if colPrinters.Item (i + 1) = "\\servidor\impressora1" then
objNetwork.RemovePrinterConnection "\\servidor\impressora1"
end if
if colPrinters.Item (i + 1) = "\\servidor\impressora2" then
objNetwork.RemovePrinterConnection "\\servidor\impressora2"
end if
if colPrinters.Item (i + 1) = "\\servidor\impressora3" then
objNetwork.RemovePrinterConnection "\\servidor\impressora3"
end if
if colPrinters.Item (i + 1) = "\\servidor\impressora4" then
objNetwork.RemovePrinterConnection "\\servidor\impressora4"
end if
if colPrinters.Item (i + 1) = "\\servidor\impressora5" then
objNetwork.RemovePrinterConnection "\\servidor\impressora5"
end if
Mas não está dando certo.
Não tem com fazer?
Set objNetwork = WScript.CreateObject("WScript.Network")
objNetwork.RemovePrinterConnection "\\servidor\*"
Respostas
-
Code Snippet
strComputer = "."
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer")
For Each objPrinter in colInstalledPrinters
If InStr(objPrinter.Name, "\\Server") > 0 then
WshNetwork.RemovePrinterConnection objPrinter.Name
End if
Next
Todas as Respostas
-
Code Snippet
strComputer = "."
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer")
For Each objPrinter in colInstalledPrinters
If InStr(objPrinter.Name, "\\Server") > 0 then
WshNetwork.RemovePrinterConnection objPrinter.Name
End if
Next -
-
-