web-dev-qa-db-fra.com

Répertorie les lecteurs réseau mappés de la ligne de commande au fichier texte

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.

73
user35406

Net Use > mapped_drives.txt devrait vider une liste de lecteurs mappés dans le fichier texte mapped_drives.txt

alt text

Bien que cela ait été testé sous Windows 7, Microsoft déclare queNet Use fonctionnera sous Windows XP

99
Sathyajith Bhat

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.

11
msb

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
6
Ƭᴇcʜιᴇ007