83 votes

Liste des lecteurs réseau mappés de la ligne de commande vers un fichier texte

Existe-t-il une commande qui peut être utilisée à partir de la ligne de commande pour produire une liste des lecteurs réseau mappés sur le système local et leur emplacement sur le réseau dans un fichier texte ?

Ceci ne sera utilisé que sur les systèmes basés sur Windows et fonctionnant sous Windows XP.

112voto

Sathyajith Bhat Points 60630

net use > mapped_drives.txt devrait envoyer une liste des lecteurs mappés dans le fichier texte mapped_drives.txt

alt text

_Bien que je l'aie testé sous Windows 7, Microsoft dit net use fonctionnera sous Windows XP_

15voto

msb Points 1395

NET USE n'affichait que les lecteurs mappés pour mon utilisateur actuel et ma connexion actuelle. Après quelques recherches supplémentaires, j'ai obtenu ici :

Les informations de mappage du lecteur sont stockées dans le Registre, regardez dans HKEY_USERS \USER\Network

Alors j'ai fait un reg query HKEY_USERS pour lister 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 mappings pour tous les utilisateurs.

6voto

Brandon Points 2580

Enregistrez le fichier suivant en tant que fichier .vbs et exécutez-le. Cela créera un MappedDrives.txt dans le dossier à partir duquel le fichier vbs est exécuté. Vous pouvez remplacer strComptuer par le nom d'un autre ordinateur et obtenir la liste d'un ordinateur distant également.

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

0voto

sparks Points 173

La commande suivante (exécutée en tant qu'administrateur) affichera toutes les cartes de lecteur pour tous les utilisateurs (en tirant les informations du registre).

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"

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X