none
Obter Mapeamentos Remotos RRS feed

  • Pergunta

  • Boa tarde,
    Estou precisando obter um script aonde eu coloque o nome do computador e tenha como resultado os mapeamentos existentes para o usuário atualmente conectado nesse computador remoto. Já consegui fazer um, mas infelizmente ele só funciona quando é a minha conta que está logada nesse computador. Caso contrário não tenho nenhum resultado.
    O problema certamente não é de permissão, pois sou adm de domínio.
    Alguém poderia ao menos me indicar um ponto de partida?
    quinta-feira, 29 de outubro de 2009 15:38

Todas as Respostas

  • Rafael,

            Tente fazer um script usando o psexec com os parametros abaixo. Veja no site http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
            No final do seu script coloque uma linha para copiar o relatório para um compartilhamento e depois excluir o script.

    @ echo off
    echo executando script....
    psexec \\computador -c seuscript.bat
    Leonardo Sousa
    quinta-feira, 29 de outubro de 2009 15:53
  • Leo, fiz o teste com o psexec, mas o resultado é o mesmo, pois o comando é feito com as minhas credenciais e por isso tenho como retorno nenhum mapeamento.
    quinta-feira, 29 de outubro de 2009 16:29
  • Post o seu script para ver como ele funciona.

    Leonardo Sousa
    quinta-feira, 29 de outubro de 2009 16:33
  • O que script que uso em vbs segue abaixo:

    On Error Resume Next
    strComputer = Inputbox("Digite O Nome do Computador","Verificar Mapeamentos")
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colItems = objWMIService.ExecQuery("Select * from Win32_MappedLogicalDisk")
    For Each objItem in colItems

        Wscript.Echo objItem.Name & objItem.ProviderName

    Next

    quinta-feira, 29 de outubro de 2009 17:10
  •         Substitua o seu script pelo que consta abaixo e use junto com o psexec. Após o teste post o resultado.

    @echo off
    net use > %computername%.txt
    copy %computername%.txt \\servidor\compartilhamento /Y
    del %computername%.txt /Q
    del nomescript.bat /Q
    Leonardo Sousa
    quinta-feira, 29 de outubro de 2009 19:19
  • Olá,

    Utilize o psexec com cscript. Exemplo:

    \\server\compartilhamento\psexec.exe -u DOMINIO\usuario \\cliente cscript \\server\compartilhamento\script.vbs


    No script vbs não utilize wscript.echo pois não irá funcionar. Utilize para gravar em um arquivo texto por exemplo:

    On Error Resume Next
    set FSo = CreateObject("Scripting.FileSystemObject")
    Set ArqLog = FSO.OpenTextFile("\\server\compartilhamento\logps.txt", 8, True, 0)

    strComputer = "localhost"

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

    Set colItems = objWMIService.ExecQuery("Select * from Win32_MappedLogicalDisk")

    For Each objItem in colItems
       ArqLog.WriteLine objItem.Name & objItem.ProviderName
    Next



    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    quinta-feira, 29 de outubro de 2009 20:43
  • Boa tarde Jesiel,
    não adiantou, fiz do jeito que você recomendou, mas só funciona quando sou eu quem está logado no computador de destino. E caso eu coloque o usuário que está logado no script, tenho de inserir a senha desse usuário, algo que eu não sei.
    Eu só consegui um script para mostrar os mapeamento permanentes, pois nesse caso é possível listar os mapeamentos através do registro.
    sexta-feira, 27 de novembro de 2009 16:08