none
Definir impressora como offline RRS feed

  • Pergunta

  • Olá preciso de um script para que alguns impressoras fiquem offline para alguns usuários especificos.

    desde já agradeço.

    sexta-feira, 9 de abril de 2010 13:26

Respostas

  • Vamos lá:

    Se você quer proibir os usuarios de imprimir você pode mudar as permissões da impressora no servidor, em cada impressora você tem opção de:

    Imprimir, Gerenciar impressoras, gerenciar documentos, e você pode dar permissão para um determinado grupo ou negar.

    Ou você pode adicionar para alguns usuários uma conexão pra impressora por script. Abaixo estão alguns scripts que vão te ajudar.

    Remove as impressoras de rede - Altere \\Servidor para o nome do seu servidor de impressão

    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, "\\Servidor ") > 0 then 
         WshNetwork.RemovePrinterConnection objPrinter.Name
      End if
    Next

    Remove todas as impressoras

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

    Set colInstalledPrinters =  objWMIService.ExecQuery _
        ("Select * from Win32_Printer)

    For Each objPrinter in colInstalledPrinters
        objPrinter.Delete_
    Next

    Remove uma impressora de Rede - Altere o nome do servidor\impressora

    Set objNetwork = WScript.CreateObject("WScript.Network")

    objNetwork.RemovePrinterConnection "\\servidor\impressora "

    Adiciona uma impressora de Rede e seta ela como default

    Set WshNetwork = CreateObject("WScript.Network")
    WshNetwork.AddWindowsPrinterConnection "\\servidor\impressora "
    WshNetwork.SetDefaultPrinter "\\servidor\impressora "

    Espero que ajude, qualquer duvida poste.

    E se for util vote.


    Gabriel Nascimento MCP / MCSA / CCNA Não esqueça de contribuir para organização dos fóruns - Classifique as respostas
    sábado, 10 de abril de 2010 21:08

Todas as Respostas

  • Você precisa que as impressoras fiquem offline?

    Ou que nem apareçam?

    Ou que os usuários não possam imprimir em determinas impressoras?

    Não entendi direito o que pretende.


    Gabriel Nascimento MCP / MCSA / CCNA Não esqueça de contribuir para organização dos fóruns - Classifique as respostas
    sexta-feira, 9 de abril de 2010 19:29
  • Tanto faz offline ou não aparecer, na verdade se possivel aceito os 3 metodos, para que o cliente possa avaliar e dizer qual vai querer.

    Mas prioridade no de deixar a impressora offline. =]

    sexta-feira, 9 de abril de 2010 22:35
  • Vamos lá:

    Se você quer proibir os usuarios de imprimir você pode mudar as permissões da impressora no servidor, em cada impressora você tem opção de:

    Imprimir, Gerenciar impressoras, gerenciar documentos, e você pode dar permissão para um determinado grupo ou negar.

    Ou você pode adicionar para alguns usuários uma conexão pra impressora por script. Abaixo estão alguns scripts que vão te ajudar.

    Remove as impressoras de rede - Altere \\Servidor para o nome do seu servidor de impressão

    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, "\\Servidor ") > 0 then 
         WshNetwork.RemovePrinterConnection objPrinter.Name
      End if
    Next

    Remove todas as impressoras

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

    Set colInstalledPrinters =  objWMIService.ExecQuery _
        ("Select * from Win32_Printer)

    For Each objPrinter in colInstalledPrinters
        objPrinter.Delete_
    Next

    Remove uma impressora de Rede - Altere o nome do servidor\impressora

    Set objNetwork = WScript.CreateObject("WScript.Network")

    objNetwork.RemovePrinterConnection "\\servidor\impressora "

    Adiciona uma impressora de Rede e seta ela como default

    Set WshNetwork = CreateObject("WScript.Network")
    WshNetwork.AddWindowsPrinterConnection "\\servidor\impressora "
    WshNetwork.SetDefaultPrinter "\\servidor\impressora "

    Espero que ajude, qualquer duvida poste.

    E se for util vote.


    Gabriel Nascimento MCP / MCSA / CCNA Não esqueça de contribuir para organização dos fóruns - Classifique as respostas
    sábado, 10 de abril de 2010 21:08