none
script para exibir mapeamentos em rede RRS feed

  • Pergunta

  • Boa tarde pessoal,

    Gostaria de saber se alguém tem ou conhece algum script que rodado na rede exiba os mapeamentos que cada usuário possue, tipo, um determinado usuário possue mapeamentos nas unidade D, F, G, H e ele envie um e-mail inromando estes mapeamentos, ou algum dispositivo que indique quias mapeamentos os usuários possuem na rede

    sexta-feira, 1 de outubro de 2010 15:02

Respostas

  • Tente dessa forma.

    @echo off
    echo Host do micro: %computername%  >>%username%-%computername%.log
    echo Nome do usuario: %username%  >>%username%-%computername%.log
    echo Data:>>%username%-%computername%.log
    date /t >>%username%-%computername%.log
    echo Mapeamento do usuario >>%username%-%computername%.log
    net use >>%username%-%computername%.log
    echo --------------------------------------------- >>%username%-%computername%.log
    echo --------------------------------------------- >>%username%-%computername%.log
    rem Copiando o arquivo
    xcopy %username%-%computername%.log \\servidor\usuarios
    erase /F %username%-%computername%.log


    Leonardo Sousa

    MCP-MCDST-MCSA-MCSE-MCTS-MCITP
    Analista de TI
    • Marcado como Resposta mauroserggio quarta-feira, 6 de outubro de 2010 12:55
    terça-feira, 5 de outubro de 2010 20:34

Todas as Respostas

  • Mauro,

    O script abaixo traz as informações que vc precisa:

    'Adaptado de http://msdn.microsoft.com/en-us/library/t9zt39at(v=VS.85).aspx
    
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    wscript.echo "Computador: " & WshNetwork.ComputerName
    wscript.echo "Usuario: " & WshNetwork.UserName
    Set oDrives = WshNetwork.EnumNetworkDrives
    Set oPrinters = WshNetwork.EnumPrinterConnections
    WScript.Echo "Network drive mappings:"
    For i = 0 to oDrives.Count - 1 Step 2
    	WScript.Echo "Drive " & oDrives.Item(i) & " = " & oDrives.Item(i+1)
    Next
    

     


    Fábio de Paula Junior
    sexta-feira, 1 de outubro de 2010 16:00
    Moderador
  • Bom dia,

     

    Fábio, como eu recebo essas informações? Para onde ele envia esse relatório? posso criar um script para rodar ele em rede colocando no AD para que todo usuário que se logue seja enviada uma mensagem informando seus mapeamentos?

    Certo de sua atenção

    segunda-feira, 4 de outubro de 2010 11:00
  • Outra coisa que está acontecendo é que fica pedindo para clicar em Ok toda vez que ele faz a consulta, para o usuário isso deveria ser transparente, não pedir para clicar no Ok e enviar um e-mail infromando os dados.
    segunda-feira, 4 de outubro de 2010 11:52
  • Não te enviei o código pronto para usar em um script de logon, ele apenas tem um exemplo que exibe a informação que vc está precisando.

    Em script de logon não se utiliza por exemplo o wscript.echo (isto exibe informação na tela, o que normalmente não é necessário em scripts de logon).

    Veja este link ( http://technet.microsoft.com/en-us/library/ee176977.aspx) tente escrever o script, se não der certo coloque ele aqui que eu vou te ajudando.


    Fábio de Paula Junior
    segunda-feira, 4 de outubro de 2010 15:24
    Moderador
  • Olá Fábio,

     

       Tentei criar o script conforme você disse, mas infelizmente não obtive êxito, tentei remover a opção de envio das informações na tela e que ele ao invés de gerar essas informações na tele fossem postas em um arquivo de texto e em seguida enviado por e-mail, mas não consegui. Usei o mesmo script enviado por você alterando as opções de exibição das informações. Grato pela sua ajuda

    segunda-feira, 4 de outubro de 2010 17:44
  • Fábio,

     

    Consegui fazer um script que ao invés de exibir na tela ele gere um txt com as informações, agora preciso que estas informações sejam enviadas por e-mail, poderia me dar alguma dica de como fazer? segue o script:

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.CreateTextFile("C:\teste.txt")

    Set WshNetwork = WScript.CreateObject("WScript.Network")
    objFile.WriteLine "Computador: " & WshNetwork.ComputerName
    objFile.WriteLine "Usuario: " & WshNetwork.UserName
    Set oDrives = WshNetwork.EnumNetworkDrives
    Set oPrinters = WshNetwork.EnumPrinterConnections
    objFile.WriteLine "Network drive mappings:"
    For i = 0 to oDrives.Count - 1 Step 2
     objFile.WriteLine "Drive " & oDrives.Item(i) & " = " & oDrives.Item(i+1)
    Next

     

    segunda-feira, 4 de outubro de 2010 19:02
  • Mauro,

    Neste link tem um exemplo de envio de e-mail com anexo

     

    http://www.paulsadowski.com/wsh/cdo.htm


    Fábio de Paula Junior
    segunda-feira, 4 de outubro de 2010 19:44
    Moderador
  • Mauro,

         Tem esse script em bat que você pode colocar no login do usuário que ele cria um relatório de dados do usuário e salva na pasta onde o script estiver.

    @echo off
    echo Host do micro: %computername%  >>%username%-%computername%.log
    echo Nome do usuario: %username%  >>%username%-%computername%.log
    echo Data:>>%username%-%computername%.log
    date /t >>%username%-%computername%.log
    echo Mapeamento do usuario >>%username%-%computername%.log
    net use >>%username%-%computername%.log
    echo --------------------------------------------- >>%username%-%computername%.log
    echo --------------------------------------------- >>%username%-%computername%.log

     

    Espero ter ajudado.
    Se útil classifique.


    Leonardo Sousa

    MCP-MCDST-MCSA-MCSE-MCTS-MCITP
    Analista de TI
    terça-feira, 5 de outubro de 2010 15:15
  • Leo,

     

    Cara obrigado é exatamente isso que preciso, e as informações são exatamente o que procuro, o problema agora é o local de salvar este arquivo, precisaria salvar ele em um servidor de rede, tem como direcionar este arquivo para algum servidor em rede?

    terça-feira, 5 de outubro de 2010 16:56
  • Mauro

            Use o script abaxio, ele vai mapear uma unidade e colocar o arquivo lá.

    @echo off
    echo Host do micro: %computername%  >>%username%-%computername%.log
    echo Nome do usuario: %username%  >>%username%-%computername%.log
    echo Data:>>%username%-%computername%.log
    date /t >>%username%-%computername%.log
    echo Mapeamento do usuario >>%username%-%computername%.log
    net use >>%username%-%computername%.log
    echo --------------------------------------------- >>%username%-%computername%.log
    echo --------------------------------------------- >>%username%-%computername%.log
    net use x: caminho para salva o arquivo
    xcopy %username%-%computername%.log x:\%username%-%computername%.log
    net use x: /delete
    erase /F %username%-%computername%.log

     

    Qualquer dúvida post.


    Leonardo Sousa

    MCP-MCDST-MCSA-MCSE-MCTS-MCITP
    Analista de TI
    terça-feira, 5 de outubro de 2010 17:28
  • Leo,

    Obrigado antecipadamente pela paciência.

    Olha fiz como disse, mas quando rodo a bat recebo a seguinte mensagem:

    Ocorreu o erro de sistema 53.

    O caminho da rede não foi encontrado.

    A unidade especificada não é válida
    0 arquivo(s) copiado(s)
    Não foi possível localizar a conexão de rede.

    Para obter mais ajuda, digite NET HELPMSG 225

    Pressione qualquer tecla para continuar. . .

    Vendo isso eu mesmo fiz o mapeamento manual e depois rodei a bat e ele ficou me pedidno para informar se era arquivo ou pasta a ser criada.

    Meu cenário é para que seja mapeado por exemplo para uma pasta no seguinte caminho:

    \\servidor\usuários

     

    terça-feira, 5 de outubro de 2010 17:51
  • Tente dessa forma.

    @echo off
    echo Host do micro: %computername%  >>%username%-%computername%.log
    echo Nome do usuario: %username%  >>%username%-%computername%.log
    echo Data:>>%username%-%computername%.log
    date /t >>%username%-%computername%.log
    echo Mapeamento do usuario >>%username%-%computername%.log
    net use >>%username%-%computername%.log
    echo --------------------------------------------- >>%username%-%computername%.log
    echo --------------------------------------------- >>%username%-%computername%.log
    rem Copiando o arquivo
    xcopy %username%-%computername%.log \\servidor\usuarios
    erase /F %username%-%computername%.log


    Leonardo Sousa

    MCP-MCDST-MCSA-MCSE-MCTS-MCITP
    Analista de TI
    • Marcado como Resposta mauroserggio quarta-feira, 6 de outubro de 2010 12:55
    terça-feira, 5 de outubro de 2010 20:34
  • Muito obrigado mesmo, sua ajuda foi muito bem vinda
    quarta-feira, 6 de outubro de 2010 12:55