Inquiridor
Obter Mapeamentos Remotos

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?
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 -
-
-
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 colItemsWscript.Echo objItem.Name & objItem.ProviderName
Next
- Editado Rafael Martinez Ximenes quinta-feira, 29 de outubro de 2009 17:30 erro
-
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 -
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
-
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.