net use > mapped_drives.txt
deve descarregar uma lista de unidades mapeadas para o arquivo de texto mapped_drives.txt
EmboraeutenhatestadoissonoWindows7, A Microsoft diz que net use
funcionará no Windows XP
Existe um comando que pode ser usado a partir da linha de comando para gerar uma lista das unidades de rede mapeadas no sistema local e sua localização na rede para um arquivo de texto?
Isso só será usado em sistemas baseados no Windows que executam o Windows XP.
NET USE
estava exibindo apenas as unidades mapeadas para meu usuário atual e conexão atual. Depois de mais alguns googling, obtive
The drive mapping info is stored in the Registry, look in HKEY_USERS\USER\Network
Então eu fiz um reg query HKEY_USERS
para listar os usuários (que eram alguns códigos do windows), então eu perguntei todos eles individualmente, por exemplo:
reg query HKEY_USERS\S-1-5-21-4205028929-649740040-1951280400-500\Network /s
Se você consultar todos eles, obterá todos os mapeamentos para todos os usuários.
Salve o seguinte como um arquivo .vbs e execute-o. Ele criará um MappedDrives.txt na pasta da qual o arquivo vbs é executado. Você pode substituir o strComptuer pelo nome de outro computador e obter a lista de um computador remoto também.
strComputer = "."
Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objOutFile = objFSO.CreateTextFile(".\MappedDrives.txt")
Set colDrives = objWMIService.ExecQuery _
("Select * From Win32_LogicalDisk Where DriveType = 4")
For Each objDrive in colDrives
objOutFile.WriteLine(objDrive.DeviceID & " (" & _
objDrive.ProviderName & ")")
Next
objOutFile.Close
Isso funciona:
dir \ComputerName\sharedDirectory
No Windows 7, o diretório deve ser compartilhado para "todos". Clique com o botão direito na letra da unidade - > compartilhar com - > pessoas específicas, selecione "todos" na lista suspensa e adicione-os. Então o comando dir deve funcionar.