none
Descobrir as impressoras Mapeadas RRS feed

  • Pergunta

  • Bom dia pessoal,

    Estou querendo centralizar meu ger. das impressoras.....

    Porem para isso eu preciso saber quais impressoras do meu parque os usuarios tem mapeadas...

    Existe algum comando em bat ou vbs, para descobrir as impressoras que os usuarios tem mapeado e exporta para um arquivo???

    Qual seria o comando?

    Muito Obrigado!
    sexta-feira, 16 de janeiro de 2009 11:43

Respostas

  • Fala ai douglas..
    Valeu pela luz cara!!!! Não era bem o que eu queria.. mas fiz umas modificações que acho que ficou bem legal!!

    Se alguem precisar ta pronto....

    'Desbilita Mensagens de Erro ----------------------------------------
    On Error Resume Next

    Const ForAppending = 8

    Set objNetwork = WScript.CreateObject("WScript.Network")
    strUserName = lcase(objNetwork.UserName)
    caminho = "\\server\guilherme\printers\"

    Set objFSO = CreateObject("Scripting.FileSystemObject")

    Set objTextFile = objFSO.CreateTextFile(caminho & struserName & ".txt", True)

    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\localhost\root\cimv2")
    Set colPrinters = objWMIService.ExecQuery("SELECT * FROM Win32_Printer")

    For Each objPrinter in colPrinters

        objTextFile.WriteLine(objPrinter.Name)

    Next
    objTextFile.Close

    Obrigado e espero ajudar os outros!
    sexta-feira, 16 de janeiro de 2009 14:02

Todas as Respostas

  • Bom dia,

     

    Sugiro que vc faça uma lista (txt) com as máquinas da sua rede para trabalhar com arquivos.

    Depois você vai precisar trabalhar com WMI para colher a informação do micro.

     

    Use este objeto:

     

    Set objWMIService = GetObject("winmgmts:" _
      & "{impersonationLevel=impersonate}!\\" & COMPUTADOR & "\root\cimv2").

     

    Computador é o host name.

     

    Depois utilize-o para fazer um select:

     

    Set colPrinters = objWMIService.ExecQuery("SELECT * FROM Win32_Printer")

     

    Utilize este código também:

    For Each objPrinter in colPrinters

    Next

     

    E aí dentro você faz os tratamentos. Neste momento o objPrinter irá assumir 1 "registro" da coleção colPrinters.

    Agora é so olhar as propriedades de objPrinter e trata-las.

     

    Boa sorte.

     

     

    sexta-feira, 16 de janeiro de 2009 12:08
  • Fala ai douglas..
    Valeu pela luz cara!!!! Não era bem o que eu queria.. mas fiz umas modificações que acho que ficou bem legal!!

    Se alguem precisar ta pronto....

    'Desbilita Mensagens de Erro ----------------------------------------
    On Error Resume Next

    Const ForAppending = 8

    Set objNetwork = WScript.CreateObject("WScript.Network")
    strUserName = lcase(objNetwork.UserName)
    caminho = "\\server\guilherme\printers\"

    Set objFSO = CreateObject("Scripting.FileSystemObject")

    Set objTextFile = objFSO.CreateTextFile(caminho & struserName & ".txt", True)

    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\localhost\root\cimv2")
    Set colPrinters = objWMIService.ExecQuery("SELECT * FROM Win32_Printer")

    For Each objPrinter in colPrinters

        objTextFile.WriteLine(objPrinter.Name)

    Next
    objTextFile.Close

    Obrigado e espero ajudar os outros!
    sexta-feira, 16 de janeiro de 2009 14:02