¿Anular el nombre de la unidad asignada usando el script .bat?

¿Anular el nombre de la unidad asignada usando el script .bat?

Tengo el siguiente script por lotes que asigna con éxito algunas de nuestras unidades para nuestros usuarios:

@echo off
net use * /delete /yes
net use x: \\192.168.1.52\xrays
net use s: \\192.168.1.52\common
net use p: \\192.168.1.52\public
net use o: \\192.168.1.52\office
net use y: \\192.168.1.52\drives
EXIT

Las unidades asignadas toman sus nombres del nombre del recurso compartido. Sin embargo, sería muy útil si pudiera reemplazar el nombre por algo más útil para los usuarios.

He visto bastantes documentos en línea con ejemplos de los comandos de uso de red, pero solo puedo ver opciones como credenciales, pero nada que ver con el nombre.

El script se ejecuta en estaciones de trabajo con Windows XP y Windows 7.

Cualquier ayuda sería apreciada.

Respuesta1

Hay una manera de hacerlo desde la línea de comando sin usar VBScript. Puede editar el registro usando el reg addcomando. En mi humilde opinión, hacerlo de esta manera será mejor que usar VBScript para cambiar la etiqueta porque no asociará la etiqueta con la letra de la unidad, sino que asociará la etiqueta con el recurso compartido. Entonces, si el usuario final luego se desconecta X:y monta manualmente el xraysrecurso compartido para decir la R:unidad, entonces la etiqueta aún se mostrará correctamente (a lo que sea que le haya asignado en el script).

La clave en la que escribirá es HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\la subclave que es la ruta compartida con todas las barras invertidas reemplazadas por símbolos de almohadilla (#).

Nota: Todavía no he probado cómo se deben manejar los nombres compartidos con espacios (o incluso símbolos de almohadilla).

@echo off

net use * /delete /yes

:: Set the label in the registry
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##192.168.1.52#xrays /v _LabelFromReg /t REG_SZ /f /d "X-Rays"
:: Map the drive
net use x: \\192.168.1.52\xrays

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##192.168.1.52#common /v _LabelFromReg /t REG_SZ /f /d "Common"
net use s: \\192.168.1.52\common

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##192.168.1.52#public /v _LabelFromReg /t REG_SZ /f /d "Public"
net use p: \\192.168.1.52\public

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##192.168.1.52#office /v _LabelFromReg /t REG_SZ /f /d "Office"
net use o: \\192.168.1.52\office

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##192.168.1.52#drives /v _LabelFromReg /t REG_SZ /f /d "Drives"
net use y: \\192.168.1.52\drives

EXIT

Respuesta2

No hay manera de hacer esto usando sólo el net usecomando (verdocumentación), pero hay una manera de hacerlo usando un script vb, como lo describe Guy Thomas en computerperformance.co.ukaquí

En caso de que el sitio de Guy desaparezca más tarde, aquí tiene una copia de su guión:

' NameDrive.vbs
' VBScript to map a network drive.
' Authors Guy Thomas and Barry Maybury
' Version 1.4 - April 2010
' ----------------------------------------'
'
Option Explicit
Dim objNetwork, strDrive, objShell, objUNC
Dim strRemotePath, strDriveLetter, strNewName
'
strDriveLetter = "W:"
strRemotePath = "\\192.168.1.2\example\sharename"
strNewName = "Example Readable Label"

' Section to map the network drive
Set objNetwork = CreateObject("WScript.Network")
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath

' Section which actually (re)names the Mapped Drive
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(strDriveLetter).Self.Name = strNewName

Wscript.Echo "Check : "& strDriveLetter & " for " & strNewName
WScript.Quit

' End of Example VBScript.

Nota:

  • Si W:no te funciona, prueba W:\(con la barra)
  • Este método configurará la etiqueta de la letra de la unidadpermanentemente, es decir, si luego conecta otro recurso compartido a la misma letra de unidad, esoLa nueva acción también recibirá la etiqueta anterior.. Esto se puede solucionar utilizando siempre este script al conectar recursos compartidos o eliminando una clave en el registro para volver al comportamiento normal.

Volviendo al comportamiento normal:

  • Inicie regedit y luego haga clic en Edit(menú) -> Find->Example Readable Label
  • O navegue en regedit hasta HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2->_LabelFromReg
  • Simplemente elimine el valor y déjelo en blanco. El resultado será que el futuro mapeo de unidades volverá al estilo tradicional de mapeo.

Todo esto se describe más detalladamente en el sitio web de Guy.

Respuesta3

@echo off
echo --------------------------delete map drive all------------------------
net use * /delete /yes
echo ------------------create drive --------------------------------
net use m: \\172.16.0.136\Source /user:aleg\masr masr2006*
net use n: \\172.16.0.136\scanner_bat_test /user:alwq\4288044 masr2006*
echo ---------------------------------------------------

EXIT

información relacionada