Wyświetl zmapowane dyski sieciowe z wiersza polecenia do pliku tekstowego

75

Czy istnieje polecenie, którego można użyć z wiersza polecenia, aby wyświetlić listę zamapowanych dysków sieciowych w systemie lokalnym i ich lokalizację w sieci do pliku tekstowego?

Będzie to używane tylko w systemach Windows z systemem Windows XP.

Peter Mortensen
źródło

Odpowiedzi:

101

net use > mapped_drives.txt powinien zrzucić listę zamapowanych dysków do pliku tekstowego mapped_drives.txt

alternatywny tekst

Chociaż przetestowałem to na Windows 7, Microsoft mówi , żenet use będzie działał na Windows XP

Sathyajith Bhat
źródło
@MaterialEdge: Witamy!
Sathyajith Bhat
2
Mogę potwierdzić, że działa w systemie Windows XP.
Peter Mortensen
Gdzie jest lokalizacja pliku txt?
G Flores,
2
@GeorgeLaed będzie w tym samym miejscu, w którym uruchomiono polecenie
Sathyajith Bhat
Uwaga: w systemie Windows 8 i nowszych nie będzie to działać w wierszu polecenia z podwyższonym poziomem uprawnień (uruchom jako administrator), ponieważ jest w innym kontekście bezpieczeństwa. Otwórz „normalny” wiersz polecenia, aby wykonać polecenie.
GreatAndPowerfulOz
11

NET USEwyświetlał tylko zmapowane dyski dla mojego bieżącego użytkownika i bieżącego połączenia. Po kilku kolejnych googlingach dotarłem tutaj :

Informacje o mapowaniu dysku są przechowywane w rejestrze, spójrz w HKEY_USERS \ USER \ Network

Zrobiłem więc, reg query HKEY_USERSaby wyświetlić listę użytkowników (które były niektórymi kodami systemu Windows), a następnie zapytałem ich wszystkich osobno, na przykład:

reg query HKEY_USERS\S-1-5-21-4205028929-649740040-1951280400-500\Network /s

Jeśli wykonasz zapytanie do wszystkich z nich, otrzymasz wszystkie mapowania dla wszystkich użytkowników.

msb
źródło
6

Zapisz następujące pliki jako plik .vbs i uruchom go. Utworzy plik MappedDrives.txt w folderze, z którego uruchamiany jest plik vbs. Możesz zastąpić strComptuer nazwą innego komputera i usunąć listę z komputera zdalnego.

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
Ƭᴇcʜιᴇ007
źródło
Łał To zły tyłek. Nie ma pojęcia, że ​​(1) można napisać zapytanie o dyski i (2) zrobić to zdalnie. Świetny post.
kevinarpe