it-swarm.dev

¿Cómo hacer que el mapeo SUBST sea persistente en los reinicios?

¿Windows (XP o posterior) tiene una forma integrada de crear asignaciones de unidades persistentes, como las que crea SUBST? Encontré una herramienta de terceros psubst . ¿Hay una manera de hacerlo sin herramientas de terceros?

169
rick

Bueno Wikipedia menciona :

C:\>SUBST /?
Associates a path with a drive letter.

SUBST [drive1: [drive2:]path]
SUBST drive1: /D

  drive1:        Specifies a virtual drive to which you want to assign a path.
  [drive2:]path  Specifies a physical drive and path you want to assign to
                 a virtual drive.
  /D             Deletes a substituted (virtual) drive.

Type SUBST with no parameters to display a list of current virtual drives.

Así que puedes asociar rutas con letras de unidad usando subst. El comando persistente SUBST (psubst) software parece ser muy útil, y proporcionan una solución para ejecutarlo desde el inicio

https://code.google.com/p/psubst/#Inconstancy

Inconstancia

Sin embargo, el reinicio de un sistema destruye un disco virtual. ¿Qué hacer? Se puede crear un disco después del inicio. Pero, ¿qué hacer cuando se necesita un disco en los primeros pasos de un inicio? Por ejemplo, para ejecutar servicios? Hay una función del sistema para iniciar un disco virtual desde el registro del sistema:

REGEDIT4 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices] 
"Z:"="\\??\\C:\\Documents and Settings\\All Users\\Shared Documents"

Basta con crear un archivo de texto con la extensión .REG y ejecutarlo. La próxima vez que se inicie un sistema, el disco virtual existirá al iniciar sesión. Necesita definir un nombre de disco y ruta. Tenga en cuenta que cada barra invertida en la ruta se duplica.

En Windows, puede ejecutar el editor de registro de la siguiente manera:

  1. Iniciar "Ejecutar ... (o golpear Win+R)
  2. Tipo: regedit
  3. En Windows Vista y superior, aparecerá UAC, haga clic en "Sí" .
147
Ivo Flipse

Instalarlo en HKEY_CURRENT_USER tiene la ventaja de tener diferentes configuraciones para cada usuario. Prefiero mantener la configuración del espacio de usuario siempre que un servicio del sistema no dependa del dispositivo.

REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
"F Drive"="subst F: D:\\mount\\db"
"G Drive"="subst G: D:\\mount\\log"

Fuente: http://networkadminkb.com/KB/a446/how-to-use-drive-letters-mount-points-the-same-disk-drive.aspx

74
166_MMX

Hay una respuesta en la página a la que has vinculado. No necesita la herramienta de terceros, puede hacerlo con una simple entrada de registro, como se detalla en esa página.

Cree un archivo de texto llamado 'mapdrive.reg' con estos contenidos:

REGEDIT4 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices] 
"Z:"="\\??\\C:\\Documents and Settings\\All Users\\Shared Documents" 

Entonces, solo debe poder hacer doble clic en él para configurarlo, no se necesitan herramientas de terceros.

40
davr

Encontré esto porque estaba buscando una mejora en mis scripts de subst de inicio; funcionaron bien, pero a veces se ejecutaron después de que las carpetas se bloquearon al iniciarse porque mi unidad aún no estaba asignada.

Primero, edité el registro, pero no pude hacerlo funcionar. Sin embargo, me encontré con esta alternativa, que aunque no usa subst, responde por mí la pregunta "¿Cómo hacer que el mapeo SUBST sea persistente en los reinicios?" No use subst ... (inserte 'computerName' y 'pathName' apropiados):

Uso de la red u: "\\ computerName\c $\pathName"/persistent: yes

Adapté esto de la sugerencia de Hank Arnold en esta discusión sobre la asignación de unidades locales . Había adivinado que \\ myComputerName\c podría funcionar, pero no sabía cómo aplicar el $.

Antes de intentar el comando "Uso de red", intente navegar hacia

\\ nombreDeEquipo\c $
22
sage

Coloque un archivo por lotes en su carpeta de Inicio que haga todos los SUBST que desee hacer.

8
EBGreen

Dado que el PSubst original tiene algunas limitaciones y parece ser concluido por el autor, tuve que codificar una nueva versión para mis necesidades, solucionando algunos problemas y agregando funcionalidad y flexibilidad.

Consulte aquí el archivo por lotes de la versión 3 de PSubst

https://github.com/cyberponk/psubst

Compatible con Windows 7, Windows 8, Windows 10, Windows Server 2012

Nota: Este trabajo no tiene la intención de degradar al autor original y solo nació debido a una necesidad real, como sigue:

  • Como administrador de newtork tengo la necesidad constante de las unidades de red SUBST y el uso de diferentes usuarios de la red.

  • Como no todos son expertos en Windows, pensé que la elevación automática de administradores con manejo de errores ayudaría, según los comentarios que leí en la web.

  • Mientras algunas personas luchaban con el orden de los argumentos, pensé que sería mejor que el script trabajara con los argumentos en cualquier orden.

No puedo recordar cada funcionalidad agregada, pero cada inclusión se hizo simplemente por necesidad. Estoy compartiendo el código para que otros no puedan encontrar los problemas que tuve. Por esto no hay otra intención que compartir y ayudar.

5
cyberponk

En realidad, la herramienta PSUBST se une a dos formas diferentes de creación de unidades sustituidas en Windows. Si desea tener unidades persistentes entre los arranques, puede ejecutar esta herramienta una vez por cada unidad que necesite. Otra forma es usar el método sugerido por "davr". La herramienta PSUBST solo hace lo mismo pero permite hacerlo de la manera más fácil.

2
Ildar

Me gusta Visual Subst

Hace las cosas fáciles

0
Mikey

Estoy expandiendo en respuesta de davr porque los archivos que se eliminan de la unidad asignada se eliminan permanentemente en lugar de ir a la Papelera de reciclaje. Este archivo REG se basa en información compilada en este artículo de TechNet , que explica cómo habilitar la Papelera de reciclaje. El ejemplo asigna la unidad virutal Q a la carpeta "OneDrive - Test" y habilita la Papelera de reciclaje en la unidad Q. Cambie los caminos y el nombre para adaptarse a su situación.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices]
"Q:"="\\??\\C:\\Users\\Tony\\OneDrive - Test"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{9147E464-33A6-48E2-A3C9-361EFD417DEF}]
"RelativePath"="Q:\\"
"Category"=dword:00000004
"Name"="Q_Mapped_OneDrive"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\BitBucket\KnownFolder\{9147E464-33A6-48E2-A3C9-361EFD417DEF}]
"MaxCapacity"=dword:0000c7eb
"NukeOnDelete"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{9147E464-33A6-48E2-A3C9-361EFD417DEF}]
"RelativePath"="Q:\\"
"Category"=dword:00000004
"Name"="Q_Mapped_OneDrive"

[HKEY_CURRENT_USER\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\BitBucket\KnownFolder\{9147E464-33A6-48E2-A3C9-361EFD417DEF}]
"MaxCapacity"=dword:0000c7eb
"NukeOnDelete"=dword:00000000

Si solo tiene una de estas unidades asignadas, puede salirse con la GUID {9147E464-33A6-48E2-A3C9-361EFD417DEF}. Si tiene varias unidades asignadas, cada una debe coincidir con un GUID de su generador favorito [GUID _.

0
Tony Pulokas