Is there a command that can be used from the command line to output a list of the mapped network drives on the local system and their location on the network to a text file?
This will only be used on Windows-based systems running Windows XP.
net use > mapped_drives.txt
should dump a list of mapped drives to the text file mapped_drives.txt
Although I tested this on Windows 7, Microsoft says net use
will work on Windows XP
NET USE
was only displaying the mapped drives for my current user and current connection. After some more googling, I got here:
The drive mapping info is stored in the Registry, look in HKEY_USERS\USER\Network
So I did a reg query HKEY_USERS
to list the users (which were some windows codes), then I queried all of them individually, for example:
reg query HKEY_USERS\S-1-5-21-4205028929-649740040-1951280400-500\Network /s
If you query all of them, then you get all the mappings for all users.
Save the following as a .vbs file and run it. It'll create a MappedDrives.txt in the folder the vbs file is run from. You can replace the strComptuer with another computer's name and get the list off of a remote computer as well.
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
The following cmd (run as Administrator) will show all drive maps for all users (pulling the info from the registry)
for /f "tokens=1* delims=" %i in ('reg query HKEY_USERS /f S* /k /v ^| findstr /v /c:"End of search"')do @echo. & @( reg query "%i\Volatile Environment" /s /f USERNAME /v 2>NUL & @reg query %i\Network /f RemotePath /s 2>NUL )| findstr /r /v /c:"End of search" /c:"^$" /c:"Volatile"