Usuário com melhor resposta
Instalar impressora compartilhada por Script

Pergunta
-
Boa tarde!
Possuo um impressora instalada e compartilhada em um micro e gostaria de uma linha de comando para instalá-la no micro quando o usuário logar.
De preferência um script .bat
Obs: Já usuei o comando net use \\10.1.1.151\impressoras. E não funcionou
Respostas
-
Salve como .vbs...
Code Snippetset objNet = CreateObject("wscript.network")
objNet.AddWindowsPrinterConnection "\\servidor\impressora"
wscript.quit
- Marcado como Resposta Fábio JrModerator quinta-feira, 15 de setembro de 2011 20:34
-
Cara faz o seguinte.
adiciona as linhas abaixo num arquivo e salve como bat
rundll32 printui.dll,PrintUIEntry /in /n\\COMPUTADOR\IMPRESSORA
;Torna a impressora como padrão
rundll32 printui.dll,PrintUIEntry /y /n\\COMPUTADOR\IMPRESSORA- Sugerido como Resposta Kleber Ribeiro sexta-feira, 29 de julho de 2011 13:10
- Marcado como Resposta Fábio JrModerator quinta-feira, 15 de setembro de 2011 20:34
-
Teste este script (.VBS), ele tem uma função que verifica se a impressora existe.
if not printerexist("\\printserver\imphp") then set objNet = CreateObject("wscript.network") objNet.AddWindowsPrinterConnection "\\printserver\imphp" end if Function PrinterExist(strPrinterPath) PrinterExist=False strPrinterPath=ucase(strPrinterPath) Set WshNetwork = WScript.CreateObject("WScript.Network") Set WSHPrinters = WSHNetwork.EnumPrinterConnections For i = 0 To WSHPrinters.Count - 1 Step 2 if ucase(WSHPrinters.Item(i+1))=strPrinterPath then PrinterExist=true exit function end if Next end function
Fábio de Paula Junior- Sugerido como Resposta Fábio JrModerator quarta-feira, 14 de setembro de 2011 15:31
- Marcado como Resposta Fábio JrModerator quinta-feira, 15 de setembro de 2011 20:32
-
Exemplo com .BAT
:: Informe o caminho da impressora SET IMPRESSORA=\\PRINTSERVER\IMPRESSORAHP :: Pesquisa com WMI e depois filtra com o nome da impressora wmic printer get name /value | findstr /I /E "%IMPRESSORA%" :: SE A IMPRESSORA NÃO EXISTIR ENTÃO INSTALA IF NOT %ERRORLEVEL% == 0 Rundll32 printui.dll,PrintUIEntry /in /n %IMPRESSORA%
Fábio de Paula Junior- Sugerido como Resposta Fábio JrModerator quarta-feira, 14 de setembro de 2011 15:31
- Marcado como Resposta Fábio JrModerator quinta-feira, 15 de setembro de 2011 20:32
-
Felipe,
Modifique um pouco mais o código.
Criei uma Sub ficando mais fácil instalar (apenas chame a sub com o nome da impressora na frente) e de dentro da sub eu utilizo a função que verifica se a impressora existe.) Segue o código completo para as três impressoras.
InstalaImpressora "\\PRINTSERVER\Printer01" InstalaImpressora "\\PRINTSERVER\Printer02" InstalaImpressora "\\PRINTSERVER\Printer03" Sub InstalaImpressora(strImpressora) if not printerexist(strImpressora) then Set objNet = CreateObject("wscript.network") objNet.AddWindowsPrinterConnection strImpressora end if end sub Function PrinterExist(strPrinterPath) PrinterExist=False strPrinterPath=ucase(strPrinterPath) Set WshNetwork = WScript.CreateObject("WScript.Network") Set WSHPrinters = WSHNetwork.EnumPrinterConnections For i = 0 To WSHPrinters.Count - 1 Step 2 if ucase(WSHPrinters.Item(i+1))=strPrinterPath then PrinterExist=true exit function end if Next end function
Fábio de Paula Junior- Sugerido como Resposta Fábio JrModerator quinta-feira, 15 de setembro de 2011 20:32
- Marcado como Resposta Fábio JrModerator quinta-feira, 15 de setembro de 2011 21:54
Todas as Respostas
-
Salve como .vbs...
Code Snippetset objNet = CreateObject("wscript.network")
objNet.AddWindowsPrinterConnection "\\servidor\impressora"
wscript.quit
- Marcado como Resposta Fábio JrModerator quinta-feira, 15 de setembro de 2011 20:34
-
Cara faz o seguinte.
adiciona as linhas abaixo num arquivo e salve como bat
rundll32 printui.dll,PrintUIEntry /in /n\\COMPUTADOR\IMPRESSORA
;Torna a impressora como padrão
rundll32 printui.dll,PrintUIEntry /y /n\\COMPUTADOR\IMPRESSORA- Sugerido como Resposta Kleber Ribeiro sexta-feira, 29 de julho de 2011 13:10
- Marcado como Resposta Fábio JrModerator quinta-feira, 15 de setembro de 2011 20:34
-
Se quiser mesmo utilizar uma bat, use este comando.....
o.0
-
-
Ola Delia, desculpe a demora em responder, mas eu estive meio ausente..
Então vc, pode controlar a qualidade com a propriedade PrintQuality...
Ela varia de impressora pra impressora mas de um modo geral os valores são:
PrintQuality=100 => Qualidade baixa
PrintQuality=200 => Qualidade média
PrintQuality=600 => Qualidade alta
Aqui um exemplo de como ver os valores atuais da impressora:
Code SnippetstrComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_PrinterConfiguration")
For Each objPrinter in colInstalledPrinters
Wscript.Echo "Name: " & objPrinter.Name
Wscript.Echo "Collate: " & objPrinter.Collate
Wscript.Echo "Copies: " & objPrinter.Copies
Wscript.Echo "Driver Version: " & objPrinter.DriverVersion
Wscript.Echo "Duplex: " & objPrinter.Duplex
Wscript.Echo "Horizontal Resolution: " & _
objPrinter.HorizontalResolution
If objPrinter.Orientation = 1 Then
strOrientation = "Portrait"
Else
strOrientation = "Landscape"
End If
Wscript.Echo "Orientation : " & strOrientation
Wscript.Echo "Paper Length: " & objPrinter.PaperLength / 254
Wscript.Echo "Paper Width: " & objPrinter.PaperWidth / 254
Wscript.Echo "Print Quality: " & objPrinter.PrintQuality
Wscript.Echo "Scale: " & objPrinter.Scale
Wscript.Echo "Specification Version: " & _
objPrinter.SpecificationVersion
If objPrinter.TTOption = 1 Then
strTTOption = "Print TrueType fonts as graphics."
Elseif objPrinter.TTOption = 2 Then
strTTOption = "Download TrueType fonts as soft fonts."
Else
strTTOption = "Substitute device fonts for TrueType fonts."
End If
Wscript.Echo "True Type Option: " & strTTOption
Wscript.Echo "Vertical Resolution: " & objPrinter.VerticalResolution
Next -
-
-
Valdir, desculpa relembrar esse post depois de tanto tempo.
Utilizei esse comando que descreveu para instalar as impressoras compartilhadar na rede, esse script é executado em todo logon do usuario, porem sem que o usuario efetua o login o script instala a impressora mesmo ela já estando lá, é possivel inserir algum comando antes para verificar se essas impressoras já estão instaladas?
Grato desde já
Abraço
-
Estou na mesma situação do "Naamã Werneck" (Acima).
Preciso que o Script verifique se a impressora já esta instalada e caso sim encerre o script, caso não, efetue a instalação.
Porque só se faz necessario instalar quando um usuário se loga pela 1º vez em uma determinada máquina do dominio.
Valeu galera
Felipe Cavalcanti C. de Melo felipeccmelo@hotmail.com -
Teste este script (.VBS), ele tem uma função que verifica se a impressora existe.
if not printerexist("\\printserver\imphp") then set objNet = CreateObject("wscript.network") objNet.AddWindowsPrinterConnection "\\printserver\imphp" end if Function PrinterExist(strPrinterPath) PrinterExist=False strPrinterPath=ucase(strPrinterPath) Set WshNetwork = WScript.CreateObject("WScript.Network") Set WSHPrinters = WSHNetwork.EnumPrinterConnections For i = 0 To WSHPrinters.Count - 1 Step 2 if ucase(WSHPrinters.Item(i+1))=strPrinterPath then PrinterExist=true exit function end if Next end function
Fábio de Paula Junior- Sugerido como Resposta Fábio JrModerator quarta-feira, 14 de setembro de 2011 15:31
- Marcado como Resposta Fábio JrModerator quinta-feira, 15 de setembro de 2011 20:32
-
Exemplo com .BAT
:: Informe o caminho da impressora SET IMPRESSORA=\\PRINTSERVER\IMPRESSORAHP :: Pesquisa com WMI e depois filtra com o nome da impressora wmic printer get name /value | findstr /I /E "%IMPRESSORA%" :: SE A IMPRESSORA NÃO EXISTIR ENTÃO INSTALA IF NOT %ERRORLEVEL% == 0 Rundll32 printui.dll,PrintUIEntry /in /n %IMPRESSORA%
Fábio de Paula Junior- Sugerido como Resposta Fábio JrModerator quarta-feira, 14 de setembro de 2011 15:31
- Marcado como Resposta Fábio JrModerator quinta-feira, 15 de setembro de 2011 20:32
-
Fabio Jr,
Testei os dois Scripts (.bat e .vbs), ambos funcionaram perfeitamente!!! Muito Obrigado!
Mais uma dúvida...
Eu preciso instalar simultaneamente 03 impressoras, \\PRINTSERVER\Printer01, \\PRINTSERVER\Printer02 e \\PRINTSERVER\Printer03.
O que preciso inserir no script para automatizar a instalação dessas 3 impressoras? e antes sempre testando se elas já existem!!!
Tenho preferencia em utilizar o .vbs
Felipe Cavalcanti C. de Melo felipeccmelo@hotmail.com -
Felipe,
Modifique um pouco mais o código.
Criei uma Sub ficando mais fácil instalar (apenas chame a sub com o nome da impressora na frente) e de dentro da sub eu utilizo a função que verifica se a impressora existe.) Segue o código completo para as três impressoras.
InstalaImpressora "\\PRINTSERVER\Printer01" InstalaImpressora "\\PRINTSERVER\Printer02" InstalaImpressora "\\PRINTSERVER\Printer03" Sub InstalaImpressora(strImpressora) if not printerexist(strImpressora) then Set objNet = CreateObject("wscript.network") objNet.AddWindowsPrinterConnection strImpressora end if end sub Function PrinterExist(strPrinterPath) PrinterExist=False strPrinterPath=ucase(strPrinterPath) Set WshNetwork = WScript.CreateObject("WScript.Network") Set WSHPrinters = WSHNetwork.EnumPrinterConnections For i = 0 To WSHPrinters.Count - 1 Step 2 if ucase(WSHPrinters.Item(i+1))=strPrinterPath then PrinterExist=true exit function end if Next end function
Fábio de Paula Junior- Sugerido como Resposta Fábio JrModerator quinta-feira, 15 de setembro de 2011 20:32
- Marcado como Resposta Fábio JrModerator quinta-feira, 15 de setembro de 2011 21:54
-
-
Cara faz o seguinte.
adiciona as linhas abaixo num arquivo e salve como bat
;Instala conexão de impressora
rundll32 printui.dll,PrintUIEntry /in /n\\COMPUTADOR\IMPRESSORA
;Torna a impressora como padrão
rundll32 printui.dll,PrintUIEntry /y /n\\COMPUTADOR\IMPRESSORA
Simples, rápido e eficaz. Obrigado!!! -
Cara faz o seguinte.
adiciona as linhas abaixo num arquivo e salve como bat
rundll32 printui.dll,PrintUIEntry /in /n\\COMPUTADOR\IMPRESSORA
;Torna a impressora como padrão
rundll32 printui.dll,PrintUIEntry /y /n\\COMPUTADOR\IMPRESSORA