Usuário com melhor resposta
Deletar Impressoras Locais, menos impressora Pdf

Pergunta
-
Boa Tarde
Pessoal, estou com uma dificuldade aqui na empresa, estamos implantando um Server de Impressão e preciso remover todas as impressoras locais e conectar as que estão instaladas no servidor. Isto consegui fazer normalmente vis Script, porém não posso remover as impressoras pdfs das máquinas. O script que vi em um outro topico que é o que eu estou utilizando remove todas as impressoras.
Segue Script
----
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer")
For Each objPrinter in colInstalledPrinters
objPrinter.Delete_
Next
Set WshNetwork = WScript.CreateObject("WScript.Network")
PrinterPath = "\\Server\FS-30DN"
WshNetwork.AddWindowsPrinterConnection PrinterPath
WshNetwork.SetDefaultPrinter "\\Server\FS-30DN"
set net = createobject("wscript.network")
wscript.quit
-----
voces podem me auxiliar a criar uma condição que não apague as impressoras PDFs?
Obrigado
Respostas
-
Olá,
Faça conforme o exemplo abaixo:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer")
lRet = False
arrPDF = "PRIMOPDF,CUTE PDF,PDF995"
arrPDF = split(arrPDF,",")
For Each objPrinter in colInstalledPrinters
lRet = FALSE
for x = 0 to UBOUND(arrPDF)
if instr(objPrinter.Name,arrPDF(X)) > 0 Then
lRet = TRUE
EXIT FOR
End if
Next
if NOT lRet Then
objPrinter.Delete_
End if
Next
Até mais,
Jesiel
Obs.: Se útil, classifique
- Marcado como Resposta Mcbarbalho quarta-feira, 2 de setembro de 2009 10:31
Todas as Respostas
-
Olá,
Faça conforme o exemplo:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer")
strPDF = "impressorapdf"
For Each objPrinter in colInstalledPrinters
if instr(objPrinter.Name,strPDF) = 0 Then
objPrinter.Delete_
End if
Next
Até mais,
Jesiel
Obs.: Se útil, classifique
-
-
Olá,
Faça conforme o exemplo abaixo:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer")
lRet = False
arrPDF = "PRIMOPDF,CUTE PDF,PDF995"
arrPDF = split(arrPDF,",")
For Each objPrinter in colInstalledPrinters
lRet = FALSE
for x = 0 to UBOUND(arrPDF)
if instr(objPrinter.Name,arrPDF(X)) > 0 Then
lRet = TRUE
EXIT FOR
End if
Next
if NOT lRet Then
objPrinter.Delete_
End if
Next
Até mais,
Jesiel
Obs.: Se útil, classifique
- Marcado como Resposta Mcbarbalho quarta-feira, 2 de setembro de 2009 10:31
-
Boa Tarde
esqueci de um detalhe veja se pode me ajudar.
Quando o Script é executado pelo um usuario comum ele mostra a tela de acesso negado.(erro de execução)
Como adm funcina normal.
Como posso fazer para executar o script como um usuario comum?
Obrigado
-
Olá,
Tente colocar no startup da maquina...
Se você está distribuindo por GPO, coloque em configurações de computador e coloque o link da GPO onde estão as contas de computadores no AD.
Assim ele irá utilizar a conta SYSTEM que tem permissão para fazer isso.
Até mais,
Jesiel
Obs.: Se útil, classifique
-
Boa Tarde
esqueci de um detalhe veja se pode me ajudar.
Quando o Script é executado pelo um usuario comum ele mostra a tela de acesso negado.(erro de execução)
Como adm funcina normal.
Como posso fazer para executar o script como um usuario comum?
Obrigado
boa tarde, desculpe a falta de conhecimento mais gostaria de saber onde executa-los, se é no cmd ?só sei trabalhar com interface e estou tentando aprimorar essa minha parte de conhecimento
agradeço desde agora
-
Copie o código para um arquivo texto e coloque o nome como , por exemplo, impressoras.vbs
Agora duas maneiras de executar
1)Abra um prompt de comando e digite o comando:
cscript "c:\minha\pasta\onde\esta\o script\impressoras.vbs"
2) ou dê dois clicks no arquivo impressoras.vbs
Fábio de Paula Junior