Existe-t-il une commande pouvant être utilisée à partir de la ligne de commande pour générer une liste des lecteurs réseau mappés sur le système local et leur emplacement sur le réseau dans un fichier texte?
Cela ne sera utilisé que sur les systèmes Windows exécutant Windows XP.
Net Use > mapped_drives.txt
devrait vider une liste de lecteurs mappés dans le fichier texte mapped_drives.txt
Bien que cela ait été testé sous Windows 7, Microsoft déclare queNet Use
fonctionnera sous Windows XP
Net Use
affichait uniquement les lecteurs mappés pour mon utilisateur actuel et ma connexion actuelle. Après quelques recherches supplémentaires, j'ai ici :
Les informations de mappage de lecteur sont stockées dans le registre. Recherchez dans HKEY_USERS\USER\Network.
J'ai donc créé un reg query HKEY_USERS
pour répertorier les utilisateurs (qui étaient des codes Windows), puis je les ai interrogés individuellement, par exemple:
reg query HKEY_USERS\S-1-5-21-4205028929-649740040-1951280400-500\Network /s
Si vous les interrogez tous, vous obtenez tous les mappages pour tous les utilisateurs.
Enregistrez le fichier suivant en tant que fichier .vbs et exécutez-le. Cela créera un fichier MappedDrives.txt dans le dossier à partir duquel le fichier vbs est exécuté. Vous pouvez remplacer le strComptuer par le nom d'un autre ordinateur et obtenir également la liste d'un ordinateur distant.
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