web-dev-qa-db-ja.com

マップされたネットワークドライブをコマンドラインからテキストファイルに一覧表示する

ローカルシステム上のマップされたネットワークドライブとそのネットワーク上の位置のリストをテキストファイルに出力するためにコマンドラインから使用できるコマンドはありますか?

これは、Windows XPを実行しているWindowsベースのシステムでのみ使用されます。

74
user35406

Net Use > mapped_drives.txtはマッピングされたドライブのリストをテキストファイルにダンプしますmapped_drives.txt

alt text

私はWindows 7でこれをテストしましたが、 MicrosoftはNet UseはWindows XPで動作すると言います

99
Sathyajith Bhat

Net Useは私の現在のユーザーと現在の接続のためにマップされたドライブのみを表示していました。もう少しグーグルした後、ここに があります

ドライブマッピング情報はレジストリに保存されます。HKEY_USERS\ USER\Networkを見てください。

そのため、私はreg query HKEY_USERSを実行してユーザーをリストし(これはいくつかのWindowsコードでした)、次にそれらすべてを個別に照会しました。

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

それらすべてを照会すると、すべてのユーザーに対するすべてのマッピングが得られます。

11
msb

以下を.vbsファイルとして保存して実行します。 vbsファイルが実行されているフォルダにMappedDrives.txtが作成されます。 strComptuerを別のコンピュータの名前に置き換えて、リモートコンピュータからもリストを取得できます。

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